我已经独立于wordpress测试了html、css和js,一切正常。所以尝试将其集成到wordpress中。我已经添加了html代码作为代码模块。我在主主题目录(不是子目录)中创建了一个名为“js”的文件夹,并在functions.php
add_action( \'wp_enqueue_scripts\', \'my_enqueue_assets\' );
function my_enqueue_assets() {
wp_enqueue_style( \'parent-style\', get_template_directory_uri().\'/style.css\' );
wp_register_script( \'portfolio\', get_template_directory_uri() . \'/js/portfolio.js\', \'\', null,\'\' );
wp_register_script( \'index\', get_template_directory_uri() . \'/js/index.js\', \'\', null,\'\' );
wp_register_script( \'config\', get_template_directory_uri() . \'/js/config.js\', \'\', null,\'\' );
wp_register_script( \'jquery.colorbox-min\', get_template_directory_uri() . \'/js/jquery.colorbox-min.js\', \'\', null,\'\' );
wp_enqueue_script( \'jquery.colorbox-min\' );
wp_enqueue_script( \'portfolio\' );
wp_enqueue_script( \'index\' );
wp_enqueue_script( \'config\' );
}
我不确定这个代码是否正确,但希望有人能给我一些建议,为什么它不工作。
SO网友:RRikesh
您可能必须使用get_stylesheet_directory_uri()
而不是get_template_directory_uri()
在子主题中引用文件时。
在新安装中,我创建并激活了一个子主题twentyfifteen
调用child
并运行以下代码:
echo get_stylesheet_directory_uri();
# Output: http://localhost/test1/wp-content/themes/child
echo get_template_directory_uri();
# Output: http://localhost/test1/wp-content/themes/twentyfifteen
此外,如果您已经独立于WordPress测试了JS,您应该知道WordPress以无冲突模式加载jQuery,也就是说,您应该使用
jQuery
而不是
$
.
因此:
$(document).ready(function(){
// JS code
});
成为:
jQuery(document).ready(function($){
// JS code
});