我有一个页面,它使用colorbox在单击照片时弹出有关工作人员的信息。我的页面是West的子主题,我在函数中插入了以下代码。php
//register colorbox
wp_register_script(\'colorbox-js\',
\'/wp-includes/js/jquery/jquery-3.2.1.min.js\' ,
array(\'jquery\')
); // when echoed, it returns true
//for using the js files needed for meet-the-team page
add_action(\'wp_enqueue_script\', \'colorboxJS\');
function colorboxJS() {
wp_enqueue_script(
\'colorbox\',
\'wp-content/themes/bbrebuild/colorboxJSfile.js\',
array(\'jquery\', \'colorbox-js\')
);
}
下面是colorboxJSfile。js看起来像:
//alerts just to see if the file got loaded correctly
jQuery(document).ready(function(){
alert("helloooooo");
});
我相信我编写的函数有问题,我对PHP是新手,但我使用了
WordPress docs 和
this video 主要是写它,我不知道代码出了什么问题。
我在控制台中也可以看到:
导航到http://localhost:8080/wordpress/about/meet-the-team/admins/ jquery迁移。min.js?版本=1.4.1:2 JQMIGRATE:已安装迁移,版本1.4.1
jquery。js?ver=1.12.4:3[违规]将非被动事件侦听器添加到滚动阻止“touchstart”事件。考虑将事件处理程序标记为“被动”,以使页面更具响应性。看见https://www.chromestatus.com/feature/5745543795965952
我也尝试过使用get\\u stylesheet\\u directory\\u uri(),但在这样使用时没有什么区别:get_stylesheet_directory_uri() . \'colorboxJSfile.js\',但是wp文档说它接受相对于wordpress根目录的绝对路径,所以我就这样保留了它。我的自定义JS文件位于此处:wamp64 > wwww > wordpress > wp-content > themes > rebuild > colorboxJSfile.js它位于索引的同一目录中。php,函数。php和标题。php和页脚。php文件。
我一整天都在解决这个问题,如果能得到一些帮助,我将不胜感激。如果我遗漏了什么,请告诉我。
编辑:奇怪的部分是当colorbox文件及其依赖项在标题中链接时。php文件,它工作了,但不完全。i、 e.当我点击照片时,它会像预期的那样显示iFrame的弹出窗口,但最大宽度(我用来使其响应)不起作用,因此我查看了它,并咨询了我工作场所的另一位开发人员,他说应该使用wp\\U enque\\U脚本将其包括在内。
最合适的回答,由SO网友:BlueSuiter 整理而成
您正在使用操作将脚本排队,而需要使用过滤器挂钩。此时,您正在向脚本调用添加一个新脚本。
但是,如果您将动作挂钩用于wp_head 叫它在那里工作。
<?php
add_filter(\'wp_enqueue_scripts\', \'colorboxJS\');
function colorboxJS() {
wp_enqueue_script(
\'colorbox\',
get_stylesheet_directory_uri() . \'/colorboxJSfile.js\',
array(\'jquery\')
);
}
?>