Как вывести доп поля в лист категорий?

Ссылка скопирована
PHP
1 ответ

Как вывести доп поля в лист категорий?
в моем случаи даю доп. поле для рубрики
вывожу список рубрик на главной

<?php $categories = get_categories( [ 	'orderby' => 'name', 	'order' => 'ASC',   'parent'  => 0 ] );  foreach( $categories as $category ){    	echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> '; 	echo '<p> Description:'. $category->description . '</p>'; 	echo '<p> Post Count: '. (int) $category->count . '</p>';         echo the_field('field-1');   } ?>

<?php $categories = get_categories( [ 'orderby' => 'name', 'order' => 'ASC', 'parent' => 0 ] ); foreach( $categories as $category ){ echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> '; echo '<p> Description:'. $category->description . '</p>'; echo '<p> Post Count: '. (int) $category->count . '</p>'; echo the_field('field-1'); } ?>

но как вывести в цикле это поле? так не пашет

Дополнительно:

the_field('field-1', 'category_'  .  $category->term_id);

the_field('field-1', 'category_' . $category->term_id);

  • Спасибо огромное!
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Сергей Миронов Ответ

Если под «листом категорий» имеется в виду таблица рубрик в админке WordPress, то дополнительные поля термина выводятся через колонки таксономии. Сами поля можно хранить в term meta, а в список добавить новую колонку и заполнить её значением.

Например, если у категории есть поле icon или short_title, добавьте код в плагин или functions.php дочерней темы:

add_filter('manage_edit-category_columns', function ($columns) {
    $columns['short_title'] = 'Короткое название';
    return $columns;
});
 
add_filter('manage_category_custom_column', function ($content, $column_name, $term_id) {
    if ($column_name === 'short_title') {
        return esc_html(get_term_meta($term_id, 'short_title', true));
    }
 
    return $content;
}, 10, 3);

add_filter('manage_edit-category_columns', function ($columns) { $columns['short_title'] = 'Короткое название'; return $columns; }); add_filter('manage_category_custom_column', function ($content, $column_name, $term_id) { if ($column_name === 'short_title') { return esc_html(get_term_meta($term_id, 'short_title', true)); } return $content; }, 10, 3);

Для своей таксономии замените category в хуках на её slug. Например для product_cat будут хуки manage_edit-product_cat_columns и manage_product_cat_custom_column.

Если поля сделаны через ACF, значение можно брать так:

$value = get_field('short_title', 'category_' . $term_id);

$value = get_field('short_title', 'category_' . $term_id);

Важно не выводить тяжёлые изображения в полном размере прямо в таблице админки. Для иконки или картинки используйте миниатюру 40-60 px, иначе список категорий начнёт тормозить и расползаться.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно