Intereting Posts
Как мы храним сообщения об ошибках / успехах на следующей странице Как настроить отображаемое изображение на пользовательский пост извне программно Функция фильтра WordPress с использованием модификаций запросов WordPress Авторы не показываются с включенными пользователем сообщениями плагин Удалить конечную точку перезаписи при деактивации? Создать страницу архива (цикл) для продуктов edd (музыкальных файлов) с помощью аудиоплеера? Где добавить the_post_thumbnail () Получение первого изображения из сообщения Исключить некоторые фотографии в медиа-библиотеке Как удалить текстовый формат TinyMCE Показать последние сообщения, используя WP Loop с разным размером divs Как обновить полосу прокрутки при использовании прокрутки Inifnite Jetpack? Пейджинг работает корректно в локальной версии, но не работает? Возврат вызова Ajax 404 Сортировка по алфавиту по пользовательскому полю

pre_get_posts и BBPress в теме Swagger

В теме, которую я использую, есть файл custom.php, где следующий код вызывает функцию pre_get_post, которая добавляет пользовательские типы сообщений в исходный объект запроса.

Я узнал, что вы не можете условно загрузить это … и он разбивает страницы BBPress на forums.php, отказываясь от BBP, чтобы полностью загрузить определенные типы сообщений (темы, форумы и т. Д.).

if (!is_admin()){ add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { global $oswcPostTypes; if(empty( $query->query_vars['suppress_filters'] ) ) { $post_type = get_query_var('post_type'); global $oswc_reviews; // BEGIN CULPRIT CODE if($post_type ) { $post_type = $post_type; $query->set('post_type',$post_type); return $query; // END CULPRIT CODE } elseif(!is_page() && !is_preview() && !is_attachment() && !is_search() ) { $post_type = array('post'); foreach($oswcPostTypes->postTypes as $postType){ array_push($post_type, $postType->id); } $query->set('post_type',$post_type); return $query; } } } } 

Спасибо заранее, это тяжело.

EDIT: Исправлено благодаря Брайану Маккалло. Он прислал мне свою новую тему, которая имела пересмотренную функцию PGP. Старое БЫЛО содержать определенные типы сообщений из запроса, такие как форум и тема PT … Исправленный код:

 if(!is_admin()) { add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { //get review types global $oswcPostTypes; if(empty($query->query_vars['suppress_filters'])) { $post_type = get_query_var('post_type'); if(!$post_type && !is_page() && !is_preview() && !is_attachment() && !is_search()) { $post_type = array('post'); foreach($oswcPostTypes->postTypes as $postType){ array_push($post_type, $postType->id); } $query->set('post_type',$post_type); //the returned array contains the "post" post type and all of the user-defined review types return $query; } } } } 

Solutions Collecting From Web of "pre_get_posts и BBPress в теме Swagger"

Я не на 100% понимаю, в чем проблема, но я бы начал с включения условий внутри функции, а не для обертывания всей функции.

 add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { if (!is_admin()){ global $oswcPostTypes; if(empty( get_query_var('suppress_filters' ) ) { $post_type = get_query_var('post_type'); //get theme options global $oswc_reviews; if($post_type ) { $post_type = $post_type; set_query_var('post_type',$post_type); return $query; } elseif(!is_page() && !is_preview() && !is_attachment() && !is_search() ) { $post_type = array('post'); foreach($oswcPostTypes->postTypes as $postType){ array_push($post_type, $postType->id); } set_query_var('post_type',$post_type); return $query; } } } }