【问题标题】:Change wc_empty_cart_message function in WooCommerce 3.1在 WooCommerce 3.1 中更改 wc_empty_cart_message 函数
【发布时间】:2018-12-16 22:02:00
【问题描述】:

我一直在尝试更改 empty-cart 消息的布局。我已删除该操作,并尝试替换它。

我想更改 htm 结构输出:

<p class="empty-cart"></p> 

到:

<div class="col-12 offset-md-1 col-md-10"><p class="empty-cart"></p></div>

我的实际代码(在我的主题的functions.php文件中)

/** Change the output for empty-cart within a div */
remove_action( 'wc_empty_cart_message', 'wc_empty_cart_message', 10 );
add_action( 'wc_empty_cart_message', 'wc_empty_cart_message', 10 );

function custom_wc_empty_cart_message() {
echo '<div class="col-12 offset-md-1 col-md-10"><p class="cart-empty">'
. wp_kses_post( apply_filters( 'wc_empty_cart_message', __( 'Your cart is currently empty.', 'woocommerce' ) ) ) . '</p></div>';
}

但是这段代码不起作用。有没有人对如何使这项工作提出建议?

【问题讨论】:

    标签: php wordpress woocommerce cart notice


    【解决方案1】:

    下面是让它工作的正确方法:

    remove_action( 'woocommerce_cart_is_empty', 'wc_empty_cart_message', 10 );
    add_action( 'woocommerce_cart_is_empty', 'custom_empty_cart_message', 10 );
    
    function custom_empty_cart_message() {
        $html  = '<div class="col-12 offset-md-1 col-md-10"><p class="cart-empty">';
        $html .= wp_kses_post( apply_filters( 'wc_empty_cart_message', __( 'Your cart is currently empty.', 'woocommerce' ) ) );
        echo $html . '</p></div>';
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。

    要删除空购物车消息,请使用:

    remove_action( 'woocommerce_cart_is_empty', 'wc_empty_cart_message', 10 );
    

    【讨论】:

    • 谢谢! @LoicTheAztec 我已经尝试过代码,但是当我把它放在我的function.php中时,我收到以下消息:“警告:使用未定义的常量html-假定为'html'(这将在未来的版本中引发错误PHP 的)在 /Applications/MAMP/htdocs/wp-content/themes/Amplify/functions.php 第 172 行 html"
    • @OnnoV。对不起,我的代码有一个小错误。我刚刚更新了它……请再试一次。它会起作用的。
    • 我们可以添加更多文字吗?像 $html .= wp_kses_post( apply_filters( 'wc_empty_cart_message', __( 'cart empty', 'woocommerce' ) ) ); $html .= wp_kses_post( apply_filters( 'wc_empty_cart_message', __( '你的购物车里没有东西,让我们添加一些物品吧。', 'woocommerce' ) ) );
    • @user9437856 自己试一试就会有答案……但最好的办法是使用唯一的文本,那为什么不将两个文本合并为一个呢?
    • 是的,我找到了解决方案。我有一个我正在使用的响应的 h2 标签和 p 标签。
    猜你喜欢
    • 2021-11-16
    • 2019-08-23
    • 2016-05-27
    • 2021-02-05
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    相关资源
    最近更新 更多