我想在将商品添加到购物车后删除“产品成功添加到购物车”的措辞和区域。我只是希望没有任何内容,没有消息,也没有空间留言。
以下是网站:http://www.tinytreasurehunts.com 代码在woocommerece-functions.php
中有什么想法吗?
答案 0 :(得分:7)
要在PHP级别解决此问题,请将以下模板文件(和结构)添加到您的主题:
的 /wp-content/themes/YOUR-THEME/woocommerce/shop/messages.php
强>:
<?php
/**
* Show messages
*
* @author brasofilo
* @package WooCommerce/Templates
* @version 1.6.4
*/
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
if ( ! $messages ) return;
foreach ( $messages as $message ) :
// The message does not contain the "add to cart" string, so print the message
// http://stackoverflow.com/q/4366730/1287812
if ( strpos( $message, 'added to your cart' ) === false ) :
?>
<div class="woocommerce-message"><?php echo wp_kses_post( $message ); ?></div>
<?php
endif;
endforeach;
答案 1 :(得分:7)
使用以下其中一项:
旧版
$woocommerce->clear_messages();
版本2.3
wc_clear_notices();
答案 2 :(得分:3)
使用CSS并将ID或关联类的显示设置为none。
.page-id-522 .woocommerce_message {
display: none;
}
这是特定于页面ID 522.确保这也不会隐藏其他有用的信息,如信用卡拒绝等。
答案 3 :(得分:3)
只需使用简单的CSS:
.single-product .woocommerce-message {
display: none !important;
}
答案 4 :(得分:3)
将此代码添加到主题functions.php文件中。它只会删除该消息。它应该只触发可能发生的页面。
function remove_added_to_cart_notice()
{
$notices = WC()->session->get('wc_notices', array());
foreach( $notices['success'] as $key => &$notice){
if( strpos( $notice, 'has been added' ) !== false){
$added_to_cart_key = $key;
break;
}
}
unset( $notices['success'][$added_to_cart_key] );
WC()->session->set('wc_notices', $notices);
}
add_action('woocommerce_before_single_product','remove_added_to_cart_notice',1);
add_action('woocommerce_shortcode_before_product_cat_loop','remove_added_to_cart_notice',1);
add_action('woocommerce_before_shop_loop','remove_added_to_cart_notice',1);
我已在Remove/Hide Woocommerce Added to Cart Message but Keep/Display Coupon Applied Message
的答案中粘贴了这个答案答案 5 :(得分:1)
WooCommerce版本2.1.6的更新
模板位于新目录和文件中。与上面相同的代码和解决方案。
/wp-content/plugins/woocommerce/templates/notices/success.php
答案 6 :(得分:0)
在主题文件的末尾或子主题中使用.post .woocommerce_message {display:none;}。