从技术上讲,您的问题(正如已经指出的)是您使用的函数echo
s而不是return
这是你的路。然而,使用bloginfo
/get_bloginfo
长期以来,不鼓励检索主题目录路径。
“样式表url”-显示活动主题的主CSS文件url(通常是样式.CSS)。考虑改为回显get\\u stylesheet\\u uri()
“样式表目录”-显示活动主题的样式表目录URL。(在早期的WordPress版本中是本地路径。)考虑改为回显get\\u stylesheet\\u directory\\u uri()\'template\\u url\'/“template\\u directory”-活动主题目录的url(“template\\u directory”之前是本地路径2.6; 请参阅get\\u theme\\u root()和get\\u template(),以了解黑客的备选方案。)在子主题中,get\\u bloginfo(\'template\\u url\')和get\\u template()都将返回父主题目录。考虑改为回显get\\u template\\u directory\\u uri()(对于父模板目录)或get\\u stylesheet\\u directory\\u uri()(对于子模板目录)http://codex.wordpress.org/Function_Reference/bloginfo
根据刚刚引用的法典部分,应使用等效的、正确的代码
get_template_directory_uri()
:
function enqueue_scripts() {
if ( ! is_admin() ) {
$scriptsrc = get_template_directory_uri() . \'/scripts.js\';
wp_register_script( \'scripts\', $scriptsrc );
wp_enqueue_script( \'scripts\' );
}
}
add_action( \'wp_enqueue_scripts\', \'enqueue_scripts\' );
请注意
get_template_directory_uri()
将始终返回父主题的路径。如果希望子主题能够覆盖此文件,则需要
get_stylesheet_directory_uri()
此外,请不要使用像enqueue_scripts
. 这很可能会引起麻烦,是一种不好的做法。