我正在尝试加载 kk 星级插件的脚本,在页脚中,并且仅在单个中加载。
我编辑了插件,页脚中的加载还可以,但这在每个页面中都显示。
我只想在单个帖子中加载。
这是原始代码:
add_action('wp_footer', array($kkStarRatings_obj, 'js'));
add_action('wp_footer', array($kkStarRatings_obj, 'css'));
add_action('wp_footer', array($kkStarRatings_obj, 'css_custom'));
add_action('admin_init', array($kkStarRatings_obj, 'admin_scripts'));
我试试这个:
if ( is_single() ) {
add_action('wp_footer', array($kkStarRatings_obj, 'js'));
add_action('wp_footer', array($kkStarRatings_obj, 'css'));
add_action('wp_footer', array($kkStarRatings_obj, 'css_custom'));
add_action('admin_init', array($kkStarRatings_obj, 'admin_scripts'));
}
而这个:
add_action('wp_enqueue_scripts','copy_script');
function copy_script() {
if ( is_single() ) {
add_action('wp_footer', array($kkStarRatings_obj, 'js'));
add_action('wp_footer', array($kkStarRatings_obj, 'css'));
add_action('wp_footer', array($kkStarRatings_obj, 'css_custom'));
add_action('admin_init', array($kkStarRatings_obj, 'admin_scripts'));
}
}
但是任何东西都有效,我怎么能做到这一点?
使用 is_singular('post')
:
add_action('wp_enqueue_scripts', 'copy_script');
function copy_script() {
if ( is_singular('post') ) {
add_action('wp_footer', array($kkStarRatings_obj, 'js'));
add_action('wp_footer', array($kkStarRatings_obj, 'css'));
add_action('wp_footer', array($kkStarRatings_obj, 'css_custom'));
}
}
我删除了管理脚本,因为我认为您不需要在单个帖子中使用它们。
PS:您应该使用wp_enqueue_script
和wp_enqueue_style
对脚本进行排队。