更新:我无法将任何核心脚本排入队列。砖石将不会加载入队句柄,WordPress 3.6。

时间:2013-10-24 作者:UzumakiDev

我正在尝试加载砖石结构,但我运气不好,我设法手动加载,但后来我意识到它包含在wordpress核心中,所以我想这很方便。

我把它排成这样(我真的很讨厌这个词):

function lart_front_end_scripts() {
            if (is_admin()) return;
            wp_enqueue_script(\'jquery\', \'1.10.2\' );
            wp_enqueue_script(\'jquery-masonry\', array(\'jquery\'));
        }//End add_scripts

add_action(\'wp_print_scripts\', array(&$this,\'lart_front_end_scripts\'));
其他jquery像正常情况一样加载,但我在控制台中不断得到“masonry没有方法”,显然没有加载它,因为它在网络脚本控制台下不存在。

非常感谢您的帮助。

Edit: I\'ve updated my code to use enqueue_script instead of print_script.

function masonry() {
    wp_enqueue_script(\'jquery-masonry\');
}//End add_scripts

add_action(\'wp_enqueue_scripts\', array(&$this, \'masonry\'));
还是没有骰子。

3 个回复
SO网友:UzumakiDev

好的,所以我将下划线和砌体作为另一个脚本的依赖项,然后它就工作了。

我不再尝试将添加动作核心脚本排队,而是将其设置为所需脚本的依赖项。

现在,我不完全确定它是否应该是这样工作的,我认为在将其设置为依赖项之前,您仍然必须将添加操作脚本排队,核心脚本的优点是您不必注册它。

因此,无需排队添加操作\'

wp_enqueue_script(\'homeJS\', get_template_directory_uri() . \'/js/home.js\', array(\'jquery\',\'underscore\',\'jquery-masonry\') );

现在,我所有必需的脚本都可以工作了。

要澄清的是,只有homeJS排队等候:

function enqueue_script(){ if(is_admin()) return; wp_enqueue_script()...... }

Jquery、Masonry和其他核心脚本没有以这种方式排队。

SO网友:tfrommen

砌体与WordPress捆绑并已注册。

您只需将其排队即可:

function lart_front_end_scripts() {
    wp_enqueue_script(\'jquery-masonry\');
} // function lart_front_end_scripts
add_action(\'wp_enqueue_scripts\', array($this, \'lart_front_end_scripts\'));

SO网友:P-S

wp\\u print\\u脚本不应用于将样式或脚本排在首页的队列中。改用wp\\u enqueue\\u脚本。

仅使用wp_enqueue_scripts:

add_action( \'wp_enqueue_scripts\', \'myScripts\');
function myScripts (){
    wp_enqueue_script(\'jquery\', \'1.10.2\' );
    wp_enqueue_script(\'jquery-masonry\', array(\'jquery\'));
}

结束

相关推荐

用于初始化WordPress的JQuery Masonry的脚本

这两者有什么不同(http://pastebin.com/PX0YB0hy)及(http://pastebin.com/VBqiMHVQ)用于JQuery砌体。为什么第一个有效而第二个无效。在这两种情况下,我都使用wp\\u enqueue\\u脚本添加脚本。谢谢