WordPress wp_enQueue_script()不起作用

时间:2011-09-27 作者:kidwon

我正在尝试添加此社交网络按钮:

<a href="http://svejo.net/submit/?url=[your url]"
     data-url="[your url]"
     data-type="compact"
     id="svejo-button">Add in Svejo</a>
<script type="text/javascript" src="http://svejo.net/javascripts/svejo-button.js"></script>
我的博客帖子。但是在每篇文章中加载这个会让我的页面速度变慢,所以我尝试用wp_enqueue_script() 在我的内部functions.php

function socialNetworks(){
    $opentag = \'<ul class="socials">\';
    $closetag = \'</ul>\';

    $socials[\'svejonet\'] =
        \'<a href="http://svejo.net/submit/?url=[\'.get_permalink().\']" data-url="[\'.get_permalink().\']" data-type="compact" id="svejo-button">Add in Svejo</a>\'.
        wp_enqueue_script( \'none\', \'http://svejo.net/javascripts/svejo-button.js\', array(), false, true);

    echo $opentag;
    foreach ( $socials as $key=>$val ){
       echo \'<li class="\'.$key.\'">\'.$val.\'</li>\';
    }
    echo $closetag;   
}
但是,脚本不会加载<感谢您的帮助。

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

您需要挂接调用排队的函数,就我个人而言,我实际上喜欢注册脚本并将它们单独排队,而不仅仅是将它们排队,因为它允许灵活地有条件地排队,并且可以在几乎没有性能损失的情况下节省按键次数。您需要的代码应该如下所示:

add_action( \'wp_enqueue_scripts\', \'my_script_holder\' );

function my_script_holder() {
    wp_register_script( \'svejo_script\', \'http://svejo.net/javascripts/svejo-button.js\', array() ); //put any dependencies (including jQuery) into the array
    wp_enqueue_script( \'svejo_script\' );
}
我没有专门测试该代码,但我几乎在我所做的每个网站上都使用过它。我要给你的唯一警告是(这有点超出了你的问题范围,但我想知道这很好)如果你计划有条件地宣教,你可能会想钩住init 注册脚本以确保未注册脚本不会调用排队,因为这可能会导致错误。

SO网友:Ionut Staicu

IIRC enqueue\\u脚本在init (或者非常接近),而短标签会在稍后触发。

SO网友:chrismou

这会使页面变慢吗?每个页面只需加载一次,加载后将由浏览器缓存保存,这意味着(希望)不会延迟在将来的页面上加载它。

删除整个wp\\u enqueue\\u脚本位并添加以下内容可能值得:

echo \'<script type="text/javascript" src="http://svejo.net/javascripts/svejo-button.js"></script>\'
或者,如果要将其添加到<head>, 您可以使用以下内容:

<?php
    function my_scripts_method() {
        wp_enqueue_script( \'svejo_script\', \'http://svejo.net/javascripts/svejo-button.js\', array(), false, true);          
    }    

    add_action(\'wp_enqueue_scripts\', \'my_scripts_method\');
?>
注意:此代码未经测试-但您应该能够在此处找到所需的所有内容:http://codex.wordpress.org/Function_Reference/wp_enqueue_script

结束

相关推荐

用于WordPress后端的Nginx或Cherokee(+php-fpm)?

多年来,我一直在使用apache2和mod\\u php,但最近我迁移到nginx 使用php fpm。虽然速度更快、更稳定,但我也看了一下cherokee, 因为两者都可以处理php fpm和tons\'o\'访问者。作为WordPress主机,哪个服务器更好,有人对此进行过比较吗?更新Rarst要求问题更具体一些,因此目标(按顺序):速度、稳定性、安全性、可预测的内存使用