在函数.php中创建样式表以覆盖Bootstrap

时间:2015-05-18 作者:Dandy

在我的网站上,我使用我在函数中实现的引导。php。现在,我正在尝试在引导后实现我的样式表,以便重写它的类。

我的样式表可以工作,但它仍然被引导覆盖。我实施错误了吗?

功能。php:

<?php
add_action( \'after_setup_theme\', \'wpt_setup\' );
    if ( ! function_exists( \'wpt_setup\' ) ):
        function wpt_setup() {  
            register_nav_menu( \'primary\', __( \'Primary navigation\', \'wptuts\' ) );
        } endif;


function wpt_register_js() {
    wp_register_script(\'jquery.bootstrap.min\', get_template_directory_uri() . \'/js/bootstrap.min.js\', \'jquery\');
    wp_enqueue_script(\'jquery.bootstrap.min\');
}
add_action( \'init\', \'wpt_register_js\' );
function wpt_register_css() {
    wp_register_style( \'bootstrap.min\', get_template_directory_uri() . \'/css/bootstrap.min.css\' );
    wp_enqueue_style( \'bootstrap.min\' );
}
add_action( \'wp_enqueue_scripts\', \'wpt_register_css\' );

wp_enqueue_style( \'my_template_name\', get_stylesheet_uri() );

// Register custom navigation walker
    require_once(\'wp_bootstrap_navwalker.php\');

add_theme_support( \'post-thumbnails\' );     
?>
编辑

现在我明白了wp_enqueue_style( \'my_template_name\', get_stylesheet_uri() ); 实际上已经更改了我的管理面板。那么,我应该如何写它来只影响我的网站呢?

3 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

笔记

wp_enqueue_style()
应放置在回调函数中,以wp_enqueue_scripts

add_action( \'wp_enqueue_scripts\', \'callback\' );
正如问题中的代码所示,因此请使用wp_enqueue_style() 在里面。

最后但并非最不重要的一点是,CSS的处理方式与使用最后一个样式定义的方式相同。因此,通过在默认样式表之后加载样式表,可以用自定义样式表覆盖默认定义。定义(元素目标)必须相等,才能实现此功能。

SO网友:KnightHawk

您将新样式加入队列的行确实位于引导样式之后。。。正如这一行是在另一行之后键入的,但它位于任何函数之外,并且处于规则的代码流中。。。所以它实际上首先发生。

试着把它放在wpt_register_css() 功能,并在引导样式后保留它。这应该使它在引导后真正被调用。

SO网友:Sebas

使用wp_enqueue_style\'s第三个依赖项参数。这将确保它在引导后加载。在前端条件下,它将如下所示:

if(!is_admin()){
  function wpt_register_css(){
    wp_register_style( \'bootstrap.min\', get_template_directory_uri() . \'/css/bootstrap.min.css\' );
    wp_enqueue_style( \'my_template_name\', get_stylesheet_uri(), \'bootstrap.min\' );
  }
  add_action( \'wp_enqueue_scripts\', \'wpt_register_css\' );
}

结束

相关推荐