取消注册出队JS脚本,但在1个产品页面上除外

时间:2020-11-28 作者:Fine Love Dolls

除了一个产品页面之外,我需要在任何地方注销JS脚本,到目前为止,这是我的代码:

add_action( \'wp_print_scripts\', \'my_deregister_javascript\', 100 );
if ( !is_product(\'67688\') ) {
wp_deregister_script( \'wc-lottery-jquery-plugin\' );
wp_deregister_script( \'wc-lottery-countdown\' );
wp_deregister_script( \'wc-lottery-countdown-language\' );
wp_deregister_script( \'wc-lottery-public\' );
}
}
这是正确的吗?非常感谢您的确认!

2 个回复
SO网友:Nilesh Chouhan

我认为您可以使用“wp\\u enqueue\\u scripts”挂钩,并尝试这样的条件-

add_action( \'wp_enqueue_scripts\', \'my_deregister_javascript\' );
function my_deregister_javascript(){
    if( get_the_ID() != \'67688\' ) {
        wp_deregister_script( \'wc-lottery-jquery-plugin\' );
    }
}
对于前端

SO网友:Fine Love Dolls

上述方法不起作用,该方法尚未测试,但似乎是正确的:

    global $product;
    if ( is_object($product)  && ($product->get_type() === \'lottery\')  ) {
    wp_dequeue_script( \'wc-lottery-jquery-plugin\' );
    wp_dequeue_script( \'wc-lottery-countdown\' );
    wp_dequeue_script( \'wc-lottery-countdown-language\' );
    wp_dequeue_script( \'wc-lottery-public\' );

    }