Wordpress - is_single() - >在页脚中加载插件的脚本

时间:2015-04-26 22:42:04

标签: php wordpress function

我正在尝试以页脚的形式加载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'));
  }
}

但是一切都有效,我该怎么做呢?

1 个答案:

答案 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_styleGitHub: Changing a remote's URL将脚本排入队列。