dimabagow

WP пости з довільного поля

Вивести записи виявилося не так просто, тим більше з певної рубрики, яку редактор сайту вибрав у довільному полі. Витратив дві години часу на те, щоб витягнути те, що мені потрібно, у тому вигляді, в якому я хотів:

<?php $term = get_queried_object();
$catid = (int) get_field('proizvolnoe_pole', $term); ?>
<?php $posts = $catid > 0 ? get_posts ("category=$catid&orderby=date&numberposts=10") : []; ?>
<?php if ($posts) : ?> <?php foreach ($posts as $post) : setup_postdata ($post); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endforeach; wp_reset_postdata(); endif; ?>

Тут використовується плагін Advanced Custom Fields (ACF). $term = get_queried_object() задає поточний запис, сторінку або рубрику, де зберігається поле. Поле має повертати один ID рубрики; якщо рубрику не вибрано, список залишається порожнім.


$catid - змінна в яку зберігаємо значення довільного поля.
get_field - функція, що повертає значення поля.
proizvolnoe_pole - ім'я довільного поля.
category=$catid - підставляємо змінну $catid для виведення записів із заданої рубрики.
orderby=date - порядок виведення записів за новизною.
numberposts=10 - виводити не більше 10 записів.