nellya27immigr8 20.02.2023 21:05

Как настроить автоматическую публикацию записей с определенной меткой на странице WordPress?

Здравствуйте, уважаемые эксперты по WordPress!

У меня возникла проблема с настройкой автоматической публикации записей с определенной меткой на странице WordPress. Я создал метку под названием "featured", и хотел бы, чтобы все записи с этой меткой автоматически публиковались на главной странице моего сайта.

Я понимаю, что для решения этой задачи мне может понадобиться использование кода, и я буду благодарен, если вы сможете помочь мне с его написанием.

Вот пример кода, который я использую в настоящее время:


$args = array(
  'post_type' => 'post',
  'posts_per_page' => 5,
  'meta_query' => array(
    array(
      'key' => 'featured',
      'value' => '1',
      'compare' => '='
    )
  )
);

$featured_posts = new WP_Query( $args );

if ( $featured_posts->have_posts() ) {
  while ( $featured_posts->have_posts() ) {
    $featured_posts->the_post();
    // Вывод записи на главную страницу
  }
  wp_reset_postdata();
} else {
  // Вывод сообщения, если записей с меткой "featured" не найдено
}

Однако, данный код не работает как ожидается. Буду очень признателен, если вы сможете указать на мою ошибку и помочь мне настроить автоматическую публикацию записей с меткой "featured" на главной странице WordPress.

Заранее спасибо за вашу помощь!

Ответы:

Grishin92 20.02.2023 21:20

Проблема, с которой вы столкнулись, связана со способом определения метки "featured" в вашем коде. Вместо того, чтобы использовать "meta_query" для поиска записей с меткой "featured", вам нужно использовать "tax_query" для поиска записей с определенной таксономией "featured". Вот пример исправленного кода:


$args = array(
  'post_type' => 'post',
  'posts_per_page' => 5,
  'tax_query' => array(
    array(
      'taxonomy' => 'post_tag',
      'field' => 'slug',
      'terms' => 'featured'
    )
  )
);

$featured_posts = new WP_Query( $args );

if ( $featured_posts->have_posts() ) {
  while ( $featured_posts->have_posts() ) {
    $featured_posts->the_post();
    // Вывод записи на главную страницу
  }
  wp_reset_postdata();
} else {
  // Вывод сообщения, если записей с меткой "featured" не найдено
}

В этом коде мы использовали "tax_query" вместо "meta_query" и указали таксономию "post_tag" (метки записей) в качестве источника для поиска метки "featured". Убедитесь, что вы правильно создали метку "featured" в разделе "Метки" на вашем сайте WordPress.

Надеюсь, этот исправленный код поможет вам настроить автоматическую публикацию записей с меткой "featured" на главной странице вашего сайта WordPress. Если у вас возникнут еще вопросы, не стесняйтесь задавать их!

Удачи!


Добавить ответ