在 WooCommerce 3.1 中更改 wc_empty_cart_message 功能

Change wc_empty_cart_message function in WooCommerce 3.1

我一直在尝试更改空购物车消息的布局。我已经删除了该操作,并尝试替换它。

我想更改 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>';
}

但是这段代码不起作用。有人对如何进行这项工作有建议吗?

以下是使其工作的正确方法:

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 );