Как добавить содержимое настраиваемого поля в список терминов таксономии?


У меня есть пользовательский термин таксономии "художники", который является фамилией художника и пользовательским полем "имя". Чтобы создать список всех исполнителей с их именем и фамилией, я использую следующий код, но он печатается в виде двух отдельных списков. Должен ли я объединять таблицы (никогда этого не делал) для этого или есть другой способ записать их так, чтобы все они были в одном списке?

<?php while ( have_posts() ) : the_post(); ?>
<?php 
$args = array( 'taxonomy' => 'artists' );

$terms = get_terms('artists', $args);

$count = count($terms); $i=0;
if ($count > 0) {
    $term_list = '<ul class="artist-list">';
    foreach ($terms as $term) {
        $i++;

        $termid = 'artists_' . ($term->term_id);
        $termfirst = the_field('first_name', $termid);

        $term_list .= '<li><a href="' . get_term_link( $term->slug, $term->taxonomy ) . '" title="' . sprintf(__('View all post filed under %s', 'my_localization_domain'), $term->name) . '">' . $termfirst . $term->name . '</a></li>';       
    }
    $term_list .= '</ul>';
    echo $term_list;
}

?><?php endwhile; // end of the loop. ?>

Два списка показаны здесь на сайте разработки

Author: fuxia, 2012-10-26

1 answers

Заменить the_field на get_field. Первый повторяет данные без необходимости явного вызова echo имени функции, второй возвращает данные , что вам нужно при хранении данных в переменной для последующего использования в вашей функции. В вашем случае объедините имя/фамилию до его вывода. Это должно исправить ваш список.

Хотя теги были отредактированы (спасибо тошо), на случай, если кому-то интересно, так как в ОП не ясно, функция the_field не следует путать с родным get_post_meta (и другими) Функции Wordpress, которые обрабатывают извлечение метаданных сообщений. Вместо этого эта конкретная функция и ее аналог в get_field являются частью плагина "Расширенные пользовательские поля"

 1
Author: Adam, 2012-10-26 23:05:59