Почему add_action() неправильно выполняется в условном выражении?

В functions.phpЯ хочу прикрепить функцию к крючку только для первой страницы:

function dequeue_iw_theme_styles() {
  wp_dequeue_style('iw');
}
if (is_page('new-front-page')) {
    add_action('wp_print_styles', 'dequeue_iw_theme_styles', 100);  
}

Этот код не работает, хотя Зачем?

1 ответ

Решение

Попробуйте это наоборот:

    add_action('wp_print_styles', 'dequeue_iw_theme_styles', 100);

    function dequeue_iw_theme_styles() {
        if (is_page('new-front-page')) {
            wp_dequeue_style('iw');
        }            
    }

Я полагаю, что проблема заключается в том, что, добавив действие по условию, вы уже опоздали, чтобы определить, является ли это определенным шаблоном. Таким образом, вы добавляете действие, несмотря ни на что, и выполняете код, только если шаблон соответствует.

Другие вопросы по тегам