将特定WooCommerce模板上的脚本入队

时间:2015-03-26 作者:Sam

我想在WooCommerce页面上加入lightbox脚本content-single-product.php.

我通过以下途径进行了尝试functions.php:

if(is_page_template( \'page-gallery.php\' ) || is_page_template( \'content-single-product.php\' )) {
        wp_enqueue_script( \'theme-lightbox\', get_template_directory_uri() . \'/js/lightbox.js\', array(), \'20150323\', true );
}
脚本在上正确加载page-gallery.php, 但不是在WooCommerce的单一产品页面上。我假设这个方法只适用于我的主题页模板?

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

您需要延迟代码的触发,否则您的条件值将为false(请求尚未解析)。使用操作wp_enqueue_scripts:

function wpse_182357_enqueue_scripts() {
    // Your code
}

add_action( \'wp_enqueue_scripts\', \'wpse_182357_enqueue_scripts\' );
更新:未找到问题的根源-is_page_template() 仅适用于页面。而不是检查当前模板文件是否content-single-product.php, 检查请求是否针对具有is_singular():

is_singular( \'product\' );

结束

相关推荐