我正在尝试加载砖石结构,但我运气不好,我设法手动加载,但后来我意识到它包含在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\'));
还是没有骰子。
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和其他核心脚本没有以这种方式排队。