WP Как привязаться к посту который НЕ принадлежит категории?

Есть необходимость добавлять всем постам у которых нету категории со слагом national-football-team определенный css.

/ Для Обзора Команды
    if (is_single() && !is_category("national-football-team")):
        wp_enqueue_style('onlySingleFootballTeam', get_template_directory_uri() . '/css/only_team-post.min.css', array('main-css'), null, false);
    endif;

А тем что имеют, другой....

    // Для Обзора Команды НАЦИОНАЛЬНОЙ сборной
    if  ( is_single() && is_category("national-football-team") ):
        wp_enqueue_style('onlyNationalFootballTeam', get_template_directory_uri() . '/css/only_national-team.min.css', array('main-css'), null, false);
    endif;

Но это не работает. Не могу понять что не так с запросами.


Ответы (1 шт):

Автор решения: Simon

is_category() проверяет показывается ли страница категорий или нет. При помощи проверки !is_category("national-football-team") Вы по-сути проверяете не находитесь ли Вы на странице категории со слагом "national-football-team". То есть работать оно будет только на странице категории.

Для своих целей Вы можете использовать has_category()

if (is_single() && !has_category("national-football-team", get_the_ID())):
    wp_enqueue_style('onlySingleFootballTeam', get_template_directory_uri() . '/css/only_team-post.min.css', array('main-css'), null, false);
endif;

if  (is_single() && has_category("national-football-team", get_the_ID()) ):
    wp_enqueue_style('onlyNationalFootballTeam', get_template_directory_uri() . '/css/only_national-team.min.css', array('main-css'), null, false);
endif;

Если нужно добавить стили для конкретного template используйте is_page_template(), например is_page_template('templates/template-file-name.php').

С версии WordPress 4.7 работатет с любыми пост тайпами, не только страницами.

→ Ссылка