我正在尝试以页脚的形式加载kk Star Rating plugin的脚本,而且只是单个。
我编辑了插件,并且页脚中的加载正常,但是每个页面都会显示。
我只想在单个帖子中加载。
这是原始代码:
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'));
}
}
但是一切都有效,我该怎么做呢?
答案 0 :(得分:1)
使用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_style
和GitHub: Changing a remote's URL将脚本排入队列。