在函数.php中使用Add_action加载javascript时,IS_PAGE不起作用

时间:2013-12-15 作者:Derfder

此代码正在我的函数中工作。php并正确加载:

add_action(\'wp_enqueue_scripts\', \'js_custom\', 50);
function js_custom() {
    wp_register_script( \'js_custom\', get_template_directory_uri() . \'/js/custom.js\', false, null);
    wp_enqueue_script( \'js_custom\' );
}
但是,这不起作用且未加载:

if ( is_page(273) ) {
    add_action(\'wp_enqueue_scripts\', \'js_custom\', 50);
    function js_custom() {
        wp_register_script( \'js_custom\', get_template_directory_uri() . \'/js/custom.js\', false, null);
        wp_enqueue_script( \'js_custom\' );
    }
}
为什么没有加载?我在这一页上,id等于273。

1 个回复
最合适的回答,由SO网友:JMB 整理而成

我曾经有过类似的问题。我发现运行add_action 在条件工作之外调用。所以试试这个:

    function js_custom() {
        if ( is_page(273) ) {
            wp_register_script( \'js_custom\', get_template_directory_uri() . \'/js/custom.js\', false, null);
            wp_enqueue_script( \'js_custom\' );
        }
}
add_action(\'wp_enqueue_scripts\', \'js_custom\', 50);

结束