为什么 add_action() 在条件语句中没有正确执行?

Why is add_action() not correctly executed in a conditional statement?

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);  
}

虽然此代码不起作用。为什么?

反过来试试:

    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');
        }            
    }

我认为问题在于通过有条件地添加操作,您已经来不及判断它是否是某个模板。这样,无论如何您都在添加操作,并且仅在模板匹配时才执行代码。