首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WP_Enqueue_Script加载在页脚中,而不是边栏中

WP_Enqueue_Script加载在页脚中,而不是边栏中
EN

Stack Overflow用户
提问于 2015-04-13 07:39:27
回答 1查看 215关注 0票数 1

我一直致力于为WordPress创建一个插件,它可以在激活时将代码片段添加到侧边栏中。

到目前为止,该脚本在页面加载时有效,但它显示在页面的页脚中,而不是边栏中。

要使代码显示在侧边栏中而不是页脚中,我应该进行哪些更改?

代码语言:javascript
复制
 /**
 * Front-end display of widget.
 *
 * @see WP_Widget::widget()
 *
 * @param array $args     Widget arguments.
 * @param array $instance Saved values from database.
 */


    public function widget( $args, $instance ) {



    echo $args['before_widget'];
    if ( ! empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title'];
        }

      wp_enqueue_script( 'external-script'); 

     //echo __( 'Hello, World!', 'text_domain' );
     echo $args['after_widget'];



}

https://github.com/ModMarc/WordPress-Humanity-Box-Widget/blob/master/Widget.php

EN

回答 1

Stack Overflow用户

发布于 2015-04-13 07:56:03

wp_enqueue_script在页眉或页脚中加载js文件,而不是在侧边栏或其他任何地方。

当脚本在触发wp_enqueue_scripts操作后入队时,它始终加载在页脚中。

来自wp_enqueue_scripts文档:

从3.3版开始,可以在页面中间(在wp_footer()模板标记之前)或使用wp_head操作挂钩调用该函数。这会将脚本放在页脚中,就好像$in_footer参数设置为true一样。

如果您希望将脚本排入头部,则必须将您的入队函数附加到wp_enqueue_scripts操作。

代码语言:javascript
复制
add_action( 'wp_enqueue_scripts', function() {
    wp_enqueue_script( 'external-script');
});

这不能在您的widget方法中完成,因为在呈现小部件时该操作已经触发。

如果您希望在侧边栏中加载脚本,则必须手动输出script标记。

代码语言:javascript
复制
echo '<script src="' . esc_url($your_script_url) . '"></script>';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29595949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档