这里有几个问题。。。
首先init
WordPress现在还不知道要使用哪个页面模板。(因此is_page_template()
函数将始终返回false)。
继续并将您的函数挂接到wp_enqueue_scripts
(您可能已经在为您的全局CSS/JavaScript做这些了)然后检查页面模板,并在该函数中运行逻辑。
第二get_template_directory_uri()
将返回文件的web URL和PHP的file_exists
需要磁盘上的目录路径(不是URL)。使用get_template_directory()
函数获取该路径,并使用get_template_directory_uri()
.
下面是一个工作示例,包括适当的挂钩wp_enqueue_scripts
但您需要移动的内容load_resources()
在你的主题中加入你自己的功能。
function load_resources() {
if( is_page_template() ) {
$page_template = basename( get_page_template(), \'.php\' );
$css_file_path = get_template_directory() . \'/css/pages/\' . $page_template . \'.css\';
$js_file_path = get_template_directory() . \'/js/pages/\' . $page_template . \'.js\';
$css_file_uri = get_template_directory_uri() . \'/css/pages/\' . $page_template . \'.css\';
$js_file_uri = get_template_directory_uri() . \'/js/pages/\' . $page_template . \'.js\';
if(file_exists($css_file_path)){
wp_enqueue_style($page_template, $css_file_uri);
}
if(file_exists($js_file_path)){
wp_enqueue_script($page_template, $js_file_uri);
}
}
}
add_action( \'wp_enqueue_scripts\', \'load_resources\' );