Нужна помощь, чтобы исключить сообщения с домашней страницы блога WordPress - PullRequest
0 голосов
/ 09 декабря 2011

Я пытаюсь исключить сообщения из моей страницы индекса. У меня есть код ниже в моем functions.php для этого:

function my_cat_exclude($query) {
 if ($query->is_home) {
  //$query->set('cat','-1,-3,-4,-5,-6,-7,-8,-9,-10');
  $query->set('cat','11');
 }
return $query;
}
add_filter('pre_get_posts','my_cat_exclude');

В моем блоге 12 категорий. Я хотел бы показать сообщения только из одной категории (ID категории 11). Я не хочу показывать остальное на домашней странице.

Если я использую $query->set('cat','-1,-3,-4,-5,-6,-7,-8,-9,-10');, он не показывает сообщения, которые разделяют одну и ту же категорию с идентификатором категории 11. Например, если сообщение назначено двум категориям: идентификатор категории 5 и категории 11, то он не показывает этот пост на моей домашней странице. Я хотел бы показать, что все сообщения относятся к категории с идентификатором 11 на моей домашней странице.

Если я использую $query->set('cat','11'); Он показывает только категорию с идентификатором категории 11. Однако он удаляет другие сообщения категории, пользовательские меню из виджета боковой панели. Также удаляет пункты меню из верхнего меню.

Пожалуйста, помогите.

Спасибо

1 Ответ

0 голосов
/ 09 декабря 2011

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

function my_cat_exclude() {
    if ( is_home() ) {
        query_posts( 'cat=11' );
    }
}
add_filter('pre_get_posts','my_cat_exclude');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...