我正在编写一个插件,它定义了自己的CPT“属性”,我想将一个脚本专门放入单个帖子中。
它不用我尝试使用条件语句就可以运行,但我不需要在每个页面上加载它,所以我想将其设置为条件语句。
这段代码位于我的插件根目录中,就在我的include之后。
if ( \'properties\' == get_post_type() ) {
if (wp_script_is(\'owl.carousel.js\', \'enqueued\')) {
return;
} else {
wp_register_script(\'owl.carousel.min.js\', plugin_dir_url(__FILE__) . \'js/owl.carousel.min.js\');
wp_enqueue_script(\'owl.carousel.min.js\');
}
}
我也试过了
is_sigular(\'properties\')
但这也没用。
我一定错过了一些愚蠢的事情。。。
最合适的回答,由SO网友:ClemC 整理而成
确保代码在中运行wp_enqueue_scripts
行动挂钩。
还要检查脚本句柄\'owl.carousel.js\'
. 在里面wp_script_is()
, 它与后面2个函数中输入的不同\'owl.carousel.min.js\'
.
add_action( \'wp_enqueue_scripts\', \'enqueue_properties_scripts\' );
function enqueue_properties_scripts() {
if ( \'properties\' === get_post_type() ) {
if ( wp_script_is( \'owl.carousel.min.js\', \'enqueued\' ) ) {
return;
} else {
wp_register_script( \'owl.carousel.min.js\', plugin_dir_url( __FILE__ ) . \'js/owl.carousel.min.js\' );
wp_enqueue_script( \'owl.carousel.min.js\' );
}
}
}