Разобрался… Беда была в этом —
<?php //Уберает посты подрубрик с рубрик
function no_children($query) {
if ( $query->is_category ) {
$query->set( 'category__in', array( get_queried_object_id() ) );
}
}
add_action('pre_get_posts', 'no_children');
?>
Может кто подсказать, как код адаптировать к новому ВП?
Проблема в том, что функция WP_Query::get_queried_object()
при вызове в pre_get_posts
перестала возвращать для рубрик правильный результат.
Это баг в WordPress 3.8, должен быть исправлен в 3.8.1:
http://core.trac.wordpress.org/ticket/26627
В используемую вами функцию имеет смысл добавить два условия, чтобы она применялась только на внешней части сайта и только для основного запроса.
Это не решит проблему с WordPress 3.8, но избавит от побочных эффектов, если на странице используется несколько циклов.
Рекомендую такой вариант:
function no_children( $query ) {
if ( ! is_admin() && $query->is_main_query() && $query->is_category() ) {
$query->set( 'category__in', array( get_queried_object_id() ) );
}
}
add_action( 'pre_get_posts', 'no_children' );
Подозреваю, что и моя проблема с отказом функции исключения рубрик с этим связана. Откатил ВП на предыдущий 3.7.1 все заработало.
Подозреваю, что и моя проблема с отказом функции исключения рубрик с этим связана.
Возможно, но вероятность небольшая (я проверил эту версию перед ответом в вашей теме). Думаю, у вас проблема в чём-то другом.
Обновил до WordPress 3.8.
Исчезли рубрики, и не ставятся, как и шаблона рубрик нет в этой теме.
«Рубрик нет»
Как откатить до предыдущей версии, не нашёл.
p1112, вы используете тот же код для скрытия записей из дочерних рубрик на страницах родительских, что и solomko.net? Если нет — создайте, пожалуйста, новую тему (согласно правилам форума).