Исключить сообщения срока из пользовательского типа сообщения - PullRequest
0 голосов
/ 31 мая 2018

Тип сообщения: Нажмите.Таксономия - Типы Прессы (slug = presstype).Термин - пресс-релизы (slug = release).

Я просто хочу добавить немного PHP в мой файл функций, который исключит любые посты, называемые «релиз», из обычного цикла Wordpress для пользовательских типов постов для прессы (например, mydomain.com / press), но не из других пользовательских циклов, в которые может быть включена печать.

Искал так много разных способов, но не могу найти работающее решение.Кто-нибудь знает самый простой код для functions.php, который сделает это?

1 Ответ

0 голосов
/ 31 мая 2018

Вы пытались просто удалить термин release с pre_get_posts?Для ясности семантики вы можете обернуть его с помощью функции is_post_type_archive().Таким образом, только на странице /press (Архив прессы) для параметра tax_query установлено значение , исключая любые сообщения с термином slug release.

add_action( 'pre_get_posts', 'remove_release_from_press' );
function remove_release_from_press( $query ) {
    if( is_post_type_archive( 'press' ) ){
        $tax_query = array([
            'taxonomy' => 'presstype',
            'field'    => 'slug',
            'terms'    => 'release',
            'operator' => 'NOT IN',
        ]);
        $query->set( 'tax_query', $tax_query );
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...