Как добавить доп. поле в шаблон списка записей?
Нужно задать определенный класс контейнеру списка записей
т.е
хочу что бы с админке каждой категории задавался свой стиль
добавляю доп. поле select, ему даю min, normal, max -
выбираю Показать эту группу полей, если - "в txonomy - category"
при создании категории, выбираю в select нужный стиль напр. normal
но теперь не пойму как это поле вывести
в archive . php перед while ( have_posts() ) : куда не пытаюсь всунуть, поле не выводится таким способом
<div class="<?= the_field('my_select'); ?>">
Как его вывести?
Дополнительно:
а вы привязали кастомное поле ваше к странице архива? насколько я знаю раньше не было выбора страницы архива для привязки и даже вопрос такой задавал
https://qna.habr.com/q/861437
второе, ваш код в вопросе неправильный <?= означает <? echo , но для the_field echo не нужно
не привязывал
В общем так и не получилось у меня ничего
как поля привязать к архиву ума не приложу, ставил плагин по ссылке с комментария с вашего поста, результата ноль
у меня есть обычные рубрики, им я вывел поля
в рубрике заполняю данные поля а вот как их вывести в archive . php фигзнает
данное поле select хочу поместить в класс, но при добавлении the_field(select'); ничего не выводится
касаемо плагина, появлися пункт архивных страниц
выбирая который ничего он не находит
никаких танцев с бубнов не нужно было
вот собственно код вывода этого полоя
<? echo get_field( 'select', 'category_' . get_queried_object_id() ); ?> |
<? echo get_field( 'select', 'category_' . get_queried_object_id() ); ?>
решено
<? echo get_field( 'select', 'category_' . get_queried_object_id() ); ?> |
<? echo get_field( 'select', 'category_' . get_queried_object_id() ); ?>
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос




Если ACF-поле добавлено к рубрике, его нужно получать не как поле текущей записи, а как поле термина. В архиве категории текущий объект — это
WP_Term, поэтому используйте второй параметр вget_field().Для стандартных рубрик WordPress:
<?php $class = get_field( 'select', 'category_' . get_queried_object_id() ); ?> <div class="<?php echo esc_attr( $class ); ?>"> ... </div>
Более универсальный вариант, который работает не только для
category, но и для другой таксономии:<?php $term = get_queried_object(); $class = ''; if ( $term instanceof WP_Term ) { $class = get_field( 'select', $term ); } ?> <div class="posts-list <?php echo esc_attr( $class ); ?>"> ... </div>
the_field()сразу печатает значение, а<?= the_field(...) ?>использовать не нужно. Для HTML-атрибута лучше брать значение черезget_field()и выводить черезesc_attr().Если поле не выводится, проверьте в ACF:
select, а не label поля;Для select-поля хорошо заранее ограничить значения, например
min,normal,max, и в CSS описать только эти классы. Так админка не сможет случайно сломать верстку произвольным текстом.