Я пытался создать короткий код для пользовательских терминов таксономии динамически. Но это не так. Предположим, если есть термин под названием «wordpress», тогда я должен иметь возможность запрашивать все сообщения, связанные с этим термином, с помощью короткого кода. Чтобы быть более точным, предположим, что существует таксономия под названием «событие», и в рамках этой таксономии существует несколько терминов. Итак, я пытался запрашивать сообщения под каждым термином через короткий код каждого из этих терминов.WordPress shortcodes для терминов
Вот что я пробовал:
function wordpress_recent_post($atts, $content) {
$a = shortcode_atts(array(
'cat' => '',
), $atts);
$args = array(
'posts_per_page' => 1,
'offset' => 0,
'category_name' => $a['cat'],
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'ignore_sticky_posts' => true,
);
$recent_posts = new WP_Query($args);
ob_start();
if (! $recent_posts-> have_posts()) {
return 'No Posts Found for ' . $a['cat'];
}
while ($recent_posts->have_posts()) {
$recent_posts->the_post();
the_title('<h2>', '</h2>');
if ('' != $a['cat']) {
$href = '/category/' . $a['cat'];
} else {
$href = '/blog';
}
echo "<p><a href='$href'>Read More" . ucwords($a['cat']) . '</a></p>';
}
wp_reset_query();
return ob_get_clean();
}
add_shortcode('wordpress_recent_post', array($this, 'wordpress_recent_post'));
И тогда я использовал это, чтобы вызвать сообщения от термина называется «особенности», чей идентификатор «183» (предположим) [wordpress_recent_post кот = «183» ]
Любая помощь будет действительно очень заметной.
Спасибо!