Child theme:Loading js files

时间:2012-09-19 作者:Rajat Saxena

我正在创建一个基于TwentyEleven的推特引导儿童主题。我想加载引导。所以我写了下面这行代码来获取引导。js文件,但它没有返回正确的路径。

<script type="text/javascript" src="<?php dirname( bloginfo(\'stylesheet_url\') ) ?>/bootstrap/js/bootstrap.js"></script>
我得到的路径:

http://localhost/wordpress/wp-content/themes/codemasala/style.css/bootstrap/js/bootstrap.js
我应该获得的路径:

http://localhost/wordpress/wp-content/themes/codemasala/bootstrap/js/bootstrap.js

1 个回复
最合适的回答,由SO网友:hampusn 整理而成

代码不起作用的原因是bloginfo() 在以下位置回显数据get_bloginfo() 没有。所以dirname() 没有真正使用。使用stylesheet_directory 但是更好,因为这根本不需要dirname()调用。

您也可以使用包装器get_stylesheet_directory_uri() 粘附在过滤器上stylesheet_directory_uri.

这是您更正的代码:

<script type="text/javascript" src="<?php bloginfo(\'stylesheet_directory\'); ?>/bootstrap/js/bootstrap.js"></script>
请参见:http://codex.wordpress.org/Function_Reference/bloginfo

However, 添加脚本的“WordPress方式”是将其添加到脚本队列中。这样做可以确保您的脚本始终在其依赖项之后加载,并且还可以让其他脚本将您的脚本用作依赖项。

要将脚本添加到WordPress的队列中,请使用wp_enqueue_script(). 请参见示例。下面是一个适合您的脚本。将其添加到主题的功能中。php文件。

function enqueue_bootstrap() {
  wp_enqueue_script(\'twitter-bootstrap\', get_stylesheet_directory_uri() . \'/bootstrap/js/bootstrap.js\', array(\'jquery\'));
}
add_action(\'wp_enqueue_scripts\', \'enqueue_bootstrap\');

结束

相关推荐

Wordpress Child Themes

我试图在wordpress子主题中重新声明父主题已经在使用的函数。但是,在尝试执行此操作时,我收到一条“致命错误:无法重新声明”消息。此外,我尝试使用以下方法,但没有成功:if (!function_exists(\'jr_load_scripts\')) { // do fancy things here... } 这是the link 如果您想快速查看。。。EDIT: 以下是完整代码:if (!function_exists(\'jr_load_scripts\')) {