Intereting Posts
Ajax-вызов возвращает 0, когда add_action находится внутри класса в functions.php Получение таксономии Фильтрация пользовательского типа сообщений путем сравнения даты и двух мета-ключей Показать регистрационную форму после проверки WooCommerce после ошибки панель инструментов не видна на страницах с использованием шаблона на первой странице Поиск в неанглийском языке возвращает только один результат Недостаточно памяти при загрузке изображения Измените порядок загрузки из-за запроса .xml, замедляющего мою страницу Как остановить загрузку собственных файлов скриптов для wordpress iframe? Как разрешать пользователям просматривать собственные профили Buddypress? Почему использование __construct вместо widget_class_name при создании виджета запускает из памяти ошибку Что может привести к ошибке «мусор после элемента документа»? Отображение списка сообщений в категории Категория ребенка Woocommerce Постоянная ссылка Изменение структуры WordPress Network (multisite) – как обеспечить, чтобы каждый сайт имел свой собственный URL-адрес администратора?

Использование pre_get_posts для фильтрации по пользовательским полям при использовании статической главной страницы

Я пытаюсь отфильтровать цикл пользовательского типа сообщений несколькими настраиваемыми полями, используя pre_get_posts. Страницы категорий отображаются очень хорошо. У меня возникли проблемы со статической главной страницей, которая по какой-то причине отображает шаблон сообщений блога (с пользовательскими сообщениями типа post) вместо настраиваемого шаблона страницы, который я задал как статическую переднюю страницу. Надеюсь, кто-то может пролить свет на это.

Вот код …

function filter_posts( $query ) { if (!is_admin() && $query->is_main_query() ) { if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } elseif ( get_query_var('page') ) { $paged = get_query_var('page'); } else { $paged = 1; } $today = date('Ymd H:i:s'); $metaquery = array( array( 'key' => 'expire_date', 'value' => $today, 'type' => 'DATETIME', 'compare' => '>' ), array( 'key' => 'sold', 'value' => 'yes', 'type' => 'string', 'compare' => 'NOT EXISTS' ) ); $query->set( 'post_type', array( 'cpt' ) ); $query->set( 'meta_query', $metaquery ); $query->set('page_id', ''); //Empty $query->set( 'post_status', 'publish' ); $query->set( 'paged', $paged ); $query->is_page = 0; $query->is_singular = 0; } return $query; } add_filter( 'pre_get_posts', 'filter_posts',11 );