Shigaev
@Shigaev
кило

Как в Wordpress оставить посты определённых форматов в лентах, но скрыть упоминания таких постов в пагинации для single и page?

Есть сайт из коробки со стандартными постами и постами тех или иных форматов. Как, оставив все посты в лентах, убрать упоминания о постах форматов, как о single и page? Речь, в первую очередь, об устранении post-formats в пагинации.

(Вопрос устранения любых ссылок на посты в лентах, уже решён).
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Kypidon4ik
Фрилансер, Wordpress developer
Для того чтобы скрыть упоминания постов определенных форматов в пагинации для страницы single и page в WordPress, вы можете использовать следующий код в файле functions.php вашей темы:

function exclude_post_formats_from_pagination($query) {
  if ($query->is_main_query() && ($query->is_single() || $query->is_page())) {
    $exclude_formats = array('aside', 'gallery'); // Укажите здесь форматы, которые нужно исключить

    $tax_query = array(
      array(
        'taxonomy' => 'post_format',
        'field' => 'slug',
        'terms' => $exclude_formats,
        'operator' => 'NOT IN'
      )
    );
    
    $query->set('tax_query', $tax_query);
  }
}
add_action('pre_get_posts', 'exclude_post_formats_from_pagination');


В этом коде мы используем хук `pre_get_posts` для изменения запроса постов на страницах single и page. Мы определяем массив `$exclude_formats`, содержащий форматы постов, которые нужно исключить из пагинации. Затем мы создаем `tax_query`, которая исключает посты с указанными форматами, и устанавливаем этот `tax_query` в запросе.

После добавления этого кода, посты с определенными форматами, указанными в массиве `$exclude_formats`, не будут учитываться в пагинации для страницы single и page в WordPress.
PS Спонсор ответа ChatGPT
Ответ написан
Ваш ответ на вопрос

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

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