【问题标题】:Remove Inline Css Rules injected through Woocommerce into Head Section (woocommerce-inline-inline-css)删除通过 Woocommerce 注入头部的内联 Css 规则 (woocommerce-inline-inline-css)
【发布时间】:2022-01-25 08:34:11
【问题描述】:

Woocommerce 将以下内联 css 规则注入我的主题的 head 部分。知道如何通过我的子主题 functions.php 将其删除吗?

    <style id='woocommerce-inline-inline-css' type='text/css'>.woocommerce form .form-row .required { visibility: visible; }</style>

如果我没有遗漏任何东西,woocommerce 插件文件...woocommerce-includes/class-wc-frontend-scripts.php 中的以下代码块将对此负责。

    // Placeholder style.
    wp_register_style( 'woocommerce-inline', false ); // phpcs:ignore
    wp_enqueue_style( 'woocommerce-inline' );

    if ( true === wc_string_to_bool( get_option( 'woocommerce_checkout_highlight_required_fields', 'yes' ) ) ) {
        wp_add_inline_style( 'woocommerce-inline', '.woocommerce form .form-row .required { visibility: visible; }' );
    } else {
        wp_add_inline_style( 'woocommerce-inline', '.woocommerce form .form-row .required { visibility: hidden; }' );
    }

【问题讨论】:

    标签: php wordpress function woocommerce


    【解决方案1】:

    以下操作删除

    &lt;style id='woocommerce-inline-inline-css' type='text/css'&gt;.woocommerce form .form-row .required { visibility: visible; }&lt;/style&gt;

    来自头部。代码进入您的子主题或父主题的 functions.php 文件。

    来自 cmets 中 O. Jones 的意见: 或者,考虑使用 Code Snippets 插件来对网站进行这些小调整。如果您编辑functions.php,您可能(a)它被更新覆盖,(b)可能会忘记您将调整放在哪里。

            // Remove the following from head section - see source code
            // <style id='woocommerce-inline-inline-css' type='text/css'>.woocommerce form .form-row .required { visibility: visible; }</style>
            add_action('wp_enqueue_scripts', 'remove_woo_inline_css_head_ac',11);
                function remove_woo_inline_css_head_ac() {
                wp_deregister_style( 'woocommerce-inline' );
            }
    

    【讨论】:

    • 或者,考虑使用Code Snippets 插件来对网站进行这些小调整。如果您编辑functions.php,您可能(a)它被更新覆盖,(b)可能忘记您在哪里进行了调整。
    【解决方案2】:

    只需在函数前添加 // 即可注释该行

    这是正确的代码:

    // Placeholder style.
    wp_register_style( 'woocommerce-inline', false ); // phpcs:ignore
    wp_enqueue_style( 'woocommerce-inline' );
    
    if ( true === wc_string_to_bool( get_option( 'woocommerce_checkout_highlight_required_fields', 'yes' ) ) ) {
       //wp_add_inline_style( 'woocommerce-inline', '.woocommerce form .form-row .required { visibility: visible; }' );
    } else {
       //wp_add_inline_style( 'woocommerce-inline', '.woocommerce form .form-row .required { visibility: hidden; }' );
    }
    

    【讨论】:

    • 我不赞成编辑核心 woocommerce 文件。我猜必须有办法通过过滤器或动作挂钩来覆盖或停用它。
    猜你喜欢
    • 2020-06-11
    • 2015-07-07
    • 2021-07-23
    • 1970-01-01
    • 2021-07-04
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多