2015-04-07 39 views
1

我前几天正在为WordPress的Widget插件工作,并且在下面的代码中实现wp入队脚本函数时遇到了困难。Widget插件的WP入队脚本

https://codex.wordpress.org/Function_Reference/wp_enqueue_script

/** 
* 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']; 
    } 
    echo __('<script type="text/javascript" src="https://d21djfthp4qopy.cloudfront.net/humanitybox.js "></script>', 'text_domain'); 
    echo $args['after_widget']; 
} 

我一直在尝试了几个小时,但我不能得到它的工作。以下是Github项目页面的链接。

我很喜欢为WordPress编写插件,所以更多的细节会非常有帮助。

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

+0

我没有看到任何企图排队的脚本代码。我建议你根据'wp_enqueue_script'文档中的例子进行尝试。发布该代码,如果它不起作用。 –

+0

我知道...上面的代码是我得到插件工作的唯一方式:( –

回答

0

试试这个脚本是工作

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_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css'); 
       wp_enqueue_script('event-default', plugin_dir_url(__FILE__) . '/js/default.js', array('jquery')); 
     //echo __('<script type="text/javascript" src="https://d21djfthp4qopy.cloudfront.net/humanitybox.js "></script>', 'text_domain'); 
     echo $args['after_widget']; 
    } 
+0

嗨Mansukh,我得到它的工作!但是,代码出现在页面的底部,而不是侧边栏:( –

+0

你可以尝试我是帮助http://wordpress.stackexchange.com/questions/30117/how-to-load-widget-javascript-css-files-only-if-used –

+0

感谢Mansukh,它的工作! –