如何在子主题中安装引导程序

时间:2015-01-11 作者:Digitaldervish

当我尝试将引导导航与儿童主题结合使用时,出现了一些问题,我一辈子都想不出来。

父主题称为Revera。

这是一个引导主题。它包括引导。min.js和引导。min.css文件。然而,使用的版本看起来很旧,我认为这是导致我添加的引导导航栏不太工作的原因(它似乎正常工作,但样式不正确。移动菜单的三个栏缺失,导航按钮中显示“切换导航”一词)。

我想做的是使用具有子主题的更新版本的引导。但我试图实现这一目标的每一种方法似乎都没有奏效。在函数中。我拥有的子主题的php:

function enqueue_child_theme_styles() {

    wp_register_script( \'bootstrap-js\', get_template_directory_uri() . \'/bootstrap/js/bootstrap.min.js\', array(\'jquery\'), NULL, true );
    wp_register_style( \'bootstrap-css\', get_template_directory_uri() . \'/bootstrap/css/bootstrap.min.css\', false, NULL, \'all\' );

    wp_enqueue_script( \'bootstrap-js\' );
    wp_enqueue_style( \'bootstrap-css\' );    
}
add_action( \'wp_enqueue_scripts\', \'enqueue_child_theme_styles\', PHP_INT_MAX);
然而,上面的代码似乎没有任何作用。我尝试了各种方法来解决这个问题,但似乎什么都不起作用。我错过了什么?

2 个回复
SO网友:chrisguitarguy

get_template_directory_uri 始终返回父主题的URI。

从文档中:

在使用子主题的情况下,将返回父主题目录URI

你可能想要get_stylesheet_directory_uri.

add_action(\'wp_enqueue_scripts\', \'wpse174502_styles\', PHP_INT_MAX);
function wpse174502_styles()
{
    wp_enqueue_script(\'bootstrap-js\', get_stylesheet_directory_uri().\'/bootstrap/js/bootstrap.min.js\', array(\'jquery\'), NULL, true);
    wp_enqueue_style(\'bootstrap-css\', get_stylesheet_directory_uri().\'/bootstrap/css/bootstrap.min.css\', false, NULL, \'all\');
}
无论何时调试排队,请确保。。。

检查呈现的页面源。您期望的资产是否包括在内

SO网友:Digitaldervish

好吧,我发现问题是多方面的,但很大一部分是新手犯的错误。

我在子主题中包含的引导文件的权限设置不正确。他们在尝试排队时返回了403禁止的错误。我没有意识到这一点,因为父引导文件仍在排队。直到我注销了父文件样式表,我才意识到这个错误。

我的最终代码:

function enqueue_child_theme_styles() {

//deregister the parent bootstrap style and script  
wp_deregister_style( \'bootstrap\' );
wp_deregister_script( \'bootstrap\' );

//enqueue my child theme stylesheet
wp_enqueue_style( \'child-style\', get_stylesheet_uri(), array(\'theme\') );

//enqueue bootstrap in the child theme 
wp_enqueue_script(\'bootstrap-js\', get_stylesheet_directory_uri().\'/bootstrap/js/bootstrap.min.js\', array(\'jquery\'), NULL, true);
wp_enqueue_style(\'bootstrap-css\', get_stylesheet_directory_uri().\'/bootstrap/css/bootstrap.min.css\', false, NULL, \'all\');

}
add_action( \'wp_enqueue_scripts\', \'enqueue_child_theme_styles\', PHP_INT_MAX);

结束

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c