Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WP_Enqueue_脚本加载在页脚中,而不是侧边栏中_Php_Jquery_Wordpress - Fatal编程技术网

Php WP_Enqueue_脚本加载在页脚中,而不是侧边栏中

Php WP_Enqueue_脚本加载在页脚中,而不是侧边栏中,php,jquery,wordpress,Php,Jquery,Wordpress,我一直在为WordPress创建一个插件,在激活时在侧边栏中添加一段代码 到目前为止,该脚本在加载页面时工作,但它显示在页面的页脚而不是侧边栏中 我应该做些什么更改以使代码显示在侧边栏而不是页脚中 /** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved valu

我一直在为WordPress创建一个插件,在激活时在侧边栏中添加一段代码

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

我应该做些什么更改以使代码显示在侧边栏而不是页脚中

 /**
 * 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'];



}

wp\u enqueue\u脚本
在页眉或页脚中加载js文件,而不是在侧边栏或其他任何地方

当脚本在触发
wp\u enqueue\u scripts
操作后排队时,它总是加载到页脚中

从文件:

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

如果希望脚本在头部排队,则必须将排队函数附加到
wp\u enqueue\u scripts
操作

add_action( 'wp_enqueue_scripts', function() {
    wp_enqueue_script( 'external-script');
});
这不能在
小部件
方法中完成,因为在呈现小部件时,该操作已经触发

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

echo '<script src="' . esc_url($your_script_url) . '"></script>';
echo';