删除Wordpress WooCommerce StoreFront标题样式

时间:2016-05-16 20:38:32

标签: wordpress woocommerce wordpress-theming

Wordpress WooCommerce StoreFront Theme在WooCommerce StoreFront Customiser的标题中排队样式;

<style id='storefront-woocommerce-style-inline-css' type='text/css'></style>
<style id='storefront-style-inline-css' type='text/css'></style>

我似乎花了更多的时间来纠正这些风格,而不是定义我想要的东西。有谁知道如何删除它们或禁用Storefront自定义程序?

Header Styles

8 个答案:

答案 0 :(得分:11)

对于那些与之抗争的人来说,这是我找到的解决方案:

function my_theme_remove_storefront_standard_functionality() {

//remove customizer inline styles from parent theme as I don't need it.
set_theme_mod('storefront_styles', '');
set_theme_mod('storefront_woocommerce_styles', '');  

}

add_action( 'init', 'my_theme_remove_storefront_standard_functionality' );

答案 1 :(得分:5)

在class-storefront-customizer.php中添加了两个内联CSS。

取消注册店面样式-line-css:

add_filter('storefront_customizer_css', '__return_false');

取消注册店面-woocommerce-style-inline-css:

add_filter('storefront_customizer_woocommerce_css', '__return_false');

答案 2 :(得分:5)

我最近必须删除这些,最好的方法是使用Ngoc Nguyen's method

将以下代码放在你的functions.php

function wpcustom_deregister_scripts_and_styles(){
    wp_deregister_style('storefront-woocommerce-style');
    wp_deregister_style('storefront-style');
}
add_action( 'wp_print_styles', 'wpcustom_deregister_scripts_and_styles', 100 );

答案 3 :(得分:0)

这是否适用于Storefront 2.0.4?

因为我有这些过滤器:

add_filter( 'storefront_customizer_enabled', '__return_false' );
add_filter( 'storefront_customizer_css', '__return_false' );
add_filter( 'storefront_customizer_woocommerce_css', '__return_false' );

但我还有内联css。

主题中提到了第一个过滤器: https://wordpress.org/support/topic/remove-inline-css-1?replies=8

答案 4 :(得分:0)

试试这个:

add_filter( 'storefront_customizer_enabled',   'woa_storefront_disable_customizer' );

function woa_storefront_disable_customizer() {
    return false;
}

https://github.com/FrancySanchez/storefront-child/blob/master/functions.php

答案 5 :(得分:0)

我遇到过这个问题,虽然我的解决方案非常适合我自己的应用程序,但您可以在其中使用。

我的问题是我希望白色菜单文字的悬停颜色为浅灰色。默认情况下,您遇到问题的内联css似乎采用菜单文本颜色,将其减轻一个因子并将该颜色设置为悬停颜色。显然白色不能减轻,所以我的菜单在悬停时保持不变。以下是我解决这个问题的方法:

在文件&#34; class-storefront-customizer.php&#34;位于wp-content / themes / storefront_child / inc / customizer,有关于主题编辑器界面如何工作的函数。首先,我采用了以下功能:

public static function get_storefront_default_setting_values() {
        return apply_filters( 'storefront_setting_default_values', $args = array(
            'storefront_heading_color'               => '#333333',
            'storefront_text_color'                  => '#6d6d6d',
            'storefront_accent_color'                => '#aeaeae',
            'storefront_header_background_color'     => '#ffffff',
            'storefront_header_text_color'           => '#6d6d6d',
            'storefront_header_link_color'           => '#333333',
            'storefront_footer_background_color'     => '#f0f0f0',
            'storefront_footer_heading_color'        => '#333333',
            'storefront_footer_text_color'           => '#6d6d6d',
            'storefront_footer_link_color'           => '#333333',
            'storefront_button_background_color'     => '#eeeeee',
            'storefront_button_text_color'           => '#333333',
            'storefront_button_alt_background_color' => '#333333',
            'storefront_button_alt_text_color'       => '#ffffff',
            'storefront_layout'                      => 'right',
            'background_color'                       => 'ffffff',
        ) );
    }

我将storefront_accent_color var设置为我想要的偏移颜色,在我的情况下是#aeaeae。这会将默认颜色设置为编辑器的该值。此步骤不是必需的,但确实更容易。

我也将此选项设置为相同的值,因为我不确定哪个会真正生效...

$wp_customize->add_setting( 'storefront_accent_color', array(
            'default'               => apply_filters( 'storefront_default_accent_color', '#aeaeae' ),
            'sanitize_callback'     => 'sanitize_hex_color',
        ) );

这个文件的第501行是函数get_css()的定义,它设置了你看到你试图摆脱的内联css。对我来说,我需要改变的价值在本节中:

.main-navigation ul li a:hover,
        .main-navigation ul li:hover > a,
        .site-title a:hover,
        a.cart-contents:hover,
        .site-header-cart .widget_shopping_cart a:hover,
        .site-header-cart:hover > li > a,
        .site-header ul.menu li.current-menu-item > a {
            color: ' . storefront_adjust_color_brightness( $storefront_theme_mods['header_link_color'], 80 ) . ';
        }

我将此css属性的值更改为:

color: ' . $storefront_theme_mods['accent_color'] . ';

这并未改变悬停时偏移的设定颜色。然而它做了什么却改变了编辑。

所以最后一步是进入编辑器,进入排版选项卡,选择强调颜色,点击默认颜色按钮(现在应该作为我的颜色),然后保存。之后我的菜单工作正常。

这有点长,并不是你要求的,但我全力以赴说明如何操作输出到内联css的值。希望这些信息对你有帮助。

答案 6 :(得分:0)

万一其他人迷失了这个问题,这就是我如何解决这个问题:

  1. 从父店面主题创建子主题。 (请参阅此链接以了解操作方法:https://developer.wordpress.org/themes/advanced-topics/child-themes/
  2. 在子主题的functions.php文件中,输入以下代码:

    remove_action( 'wp_enqueue_scripts', array( $storefront->customizer, 'add_customizer_css' ), 130 );
    

基本上,它从Storefront_Customizer类中获取函数“ add_customizer.css”,该函数添加了内联css,并从“ wp_enqueue_scripts”中删除了该钩子函数。 在店面主题的functions.php文件中,有以下代码:

    $storefront = (object) array(
    'version'    => $storefront_version,

    /**
     * Initialize all the things.
     */
    'main'       => require 'inc/class-storefront.php',
    'customizer' => require 'inc/customizer/class-storefront-customizer.php',
);

它的作用是将文件“ class-storefront-customizer.php”中的类Storefront_Customizer存储在$ storefront数组中,然后将该数组转换为对象。

通过创建子主题,您将能够更新父店面主题,并且更改不会丢失。

答案 7 :(得分:-1)

经过几次试验,我得到了解决问题的最终解决方案! 这很容易相信:-) 删除&#34; class-storefront-customizer.php &#34;中的以下行。它有效:

    add_action( 'wp_enqueue_scripts',array( $this, 'add_customizer_css' ), 130 );

此致 赫伯特