我使用了一个插件“Post Tags and Categories for Pages”,它将类别添加到页面中。
我的意图是仅在需要时将外部脚本排入页面队列。因此,如果我将一个页面分配给一个类别,则只有该页面才能加载脚本。
我有个钩子:
to function my_conditional_enqueue_script1() {
global $page;
if ( is_single() && in_category( \'19\' ) ) {
wp_enqueue_script( \'/members/application/cart/views/public/js/cart.js\' );
}
}
add_action(\'wp_enqueue_scripts\', \'my_conditional_enqueue_script1\');
看起来应该行得通,但不行。有什么建议吗?
或者,是否更可取的做法是使用短代码将脚本添加到我的页面上(以某种方式将钩子封装在插件中)?
谢谢你在这方面的帮助。
最合适的回答,由SO网友:Milo 整理而成
is_single()
不适用于page
职位类型,使用is_page()
相反
你也错过了wp_enqueue_script
, 脚本句柄。Source应该是第二个参数。
function my_conditional_enqueue_script1() {
if ( is_page() && in_category( 19 ) ) {
wp_enqueue_script(
\'my-cart-script\',
\'/members/application/cart/views/public/js/cart.js\'
);
}
}
add_action(\'wp_enqueue_scripts\', \'my_conditional_enqueue_script1\');