如何将jQuery库加载到我的仪表板小部件中?

时间:2010-10-13 作者:Scott B

我试图使用wp\\u enqueue\\u脚本(“jquery”)加载内置的wp jquery库,但执行此操作时,我的jquery函数不起作用。只有当我硬编码脚本引用时,我的函数才能工作。。。

有效的示例。。。(这在my functions.php文件中,该文件正在添加一个仪表板小部件)。。。

/* Dashboard Widget */
if(is_admin())
{
function my_dashboard_widget_function() 
{ 
    $rss = fetch_feed( "http://mysite/my.rss" );
    if ( is_wp_error($rss) ) 
    {
        if ( is_admin() || current_user_can(\'manage_options\') ) 
        {
            echo \'<p>\';
            printf(__(\'<strong>RSS Error</strong>: %s\'), $rss->get_error_message());
            echo \'</p>\';
        }
     return;
    }

    if ( !$rss->get_item_quantity() ) 
    {
        echo \'<p>This feed is currently offline</p>\';
        $rss->__destruct();
        unset($rss);
        return;
    }
echo "<script type=\'text/javascript\' src=\'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js\'></script>"

echo "<script type=\'text/javascript\'>//some jquery methods here</script>";
示例不起作用。。。

/* Dashboard Widget */
if(is_admin())
{
function my_dashboard_widget_function() 
{ 
    $rss = fetch_feed( "http://mysite/my.rss" );
    if ( is_wp_error($rss) ) 
    {
        if ( is_admin() || current_user_can(\'manage_options\') ) 
        {
            echo \'<p>\';
            printf(__(\'<strong>RSS Error</strong>: %s\'), $rss->get_error_message());
            echo \'</p>\';
        }
     return;
    }

    if ( !$rss->get_item_quantity() ) 
    {
        echo \'<p>This feed is currently offline</p>\';
        $rss->__destruct();
        unset($rss);
        return;
    }
wp_enqueue_script(\'jquery\');
echo "<script type=\'text/javascript\'>//some jquery methods here</script>";

1 个回复
最合适的回答,由SO网友:EAMann 整理而成

您需要在某些点将脚本排队。而不仅仅是放置wp_enqueue_script 在仪表板小部件函数内部调用时,需要将其放置在单独的函数中,并连接到正确的操作。

因此:

function add_jquery_to_my_widget() {
    wp_enqueue_script( \'jquery\' );
}
add_action( \'init\', \'add_jquery_to_my_widget\' );

结束

相关推荐

测试jQuery或Prototype是否由另一个插件排队?

在我的插件中,我想测试jQuery或Prototype(或两者)是否将由另一个插件加载。所以,有wp_enqueue_script(\'jquery\') 或wp_enqueue_script(\'prototype\') 已调用。我在文件中有适合我的插件的代码plugin.prototype.js 和plugin.jquery.js 如果原型已排队,我的插件将使用plugin.prototype.js. 这样我就避免了在站点中加载不必要的内容。如果两者都没有加载,我将排队,以较小者为准。如何测试以查看已