Задать вопрос
Harlam2521
@Harlam2521

Как вывести новости определенной метки на странице?

Есть странница BMW, где имеется описание логотип и дт, и я хочу вывести туда новости, по метке BMW.

Чтобы выбирать какая метка на какой странице я решил использовать Advanced Custom Fields получился такой код
<?php
          $term = the_field('btag');
          $query = new WP_Query("tag_id=$term");
          ?>
            <?php if ($query->have_posts()) : ?>
            <?php while ($query->have_posts()) : $query->the_post(); ?>
              <?php if ( get_field('s_img') ) { 
                include "block/sshortnews.php";
              } 
              else {
                include "block/shortnews.php";
              }
              ?>
            <?php endwhile; /* rewind or continue if all posts have been fetched */ ?>
             <div class="wp-pagenavi"><?php if (function_exists('wp_corenavi')) wp_corenavi(); ?></div>
            <?php else : ?>
            <?php endif; ?>


Выходит так
5a26c636125c5643811465.png
29 это id метки

Как правильно сделать?
  • Вопрос задан
  • 425 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kayart
/* Если используем слаг-ярлык тэга */
<?php
$post_tag = 'BMW';
$the_query = new WP_Query( 'tag='.$post_tag );

if ( $the_query->have_posts() ) {
    echo '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
    echo '</ul>';
} else {
    // постов нет
}

/* Сбрасываем значение переменной $post до стандартного */
wp_reset_postdata();


/* Если используем ID тэга */

<?php
$post_tag = 29;
$the_query = new WP_Query( 'tag='.$post_tag );

if ( $the_query->have_posts() ) {
    echo '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
    echo '</ul>';
} else {
    // постов нет
}

/* Сбрасываем значение переменной $post до стандартного */
wp_reset_postdata();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы