首先,我似乎总是很难让我的JS与WP一起工作。目前,我需要一些帮助来找出我的javascript出了什么问题,以及我到底做错了什么。我有以下代码:
(function($) {
// This works on WP site and on CodePen
// $("p.click-me").click(function(){
// alert("The paragraph was clicked.");
// });
// Masonry Code
$(\'#posts\').masonry({
itemSelector : \'.item\'
});
$(\'#main #posts\').masonry({
itemSelector : \'.item\'
});
// This works on CodePen but not on WP site
$("p.click-me").click(function(){
alert("The paragraph was clicked.");
});
})(jQuery);
砌体脚本通过函数文件排队,如下所示:
wp_enqueue_script( \'ccd-jquery\', ‘//cdnjs.cloudflare.com/ajax/libs/masonry/3.3.2/masonry.pkgd.min.js\',true);
接下来是我的脚本:
wp_enqueue_script( \'ccd-javascripts\', get_template_directory_uri().’/js/ccd-javascripts.js\',array(),\'1.0\',true);
如果我在砌体代码上方发出警报,它就会工作,但是如果我在下方发出警报,它就不会出现在Wordpress网站上。但是在我的
CodePen, 这两种方式都会奏效。
有人能帮我解释一下我做错了什么以及如何解决这个问题吗?
--Update-- 根据cybmeta的反馈,我将我的排队修改为:
wp_enqueue_style( \'template-css\', get_template_directory_uri().\'/css/template.css\');
//CDN Load
wp_enqueue_script( \'ccd-bootstrap\', \'//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.min.js\', array(\'jquery\') ,true);
wp_enqueue_script( \'ccd-respond\', \'//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js\', array(\'jquery\') ,true);
// wp_enqueue_script( \'ccd-jquery\', \'//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js\',true); //Not using this since WP loads already
// Masonry script depends on jQuery (already registered by WordPress)
wp_enqueue_script( \'masonry\', \'//cdnjs.cloudflare.com/ajax/libs/masonry/3.3.2/masonry.pkgd.min.js\', array(\'jquery\') );
// ccd-javascripts depends on jQuery and the "masonry" script
wp_enqueue_script( \'ccd-javascripts\', get_template_directory_uri().\'/js/ccd-javascripts.js\', array(\'jquery\', \'masonry\'));
但它在WP站点上仍然不能正常工作。它不做它应该做的事情,而是将它们全部堆叠在一列中。更改列的宽度无效。