WordPress - is_single() -> 加载插件脚本,在页脚中



我正在尝试加载 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_scriptwp_enqueue_style对脚本进行排队。

最新更新