Php 商品在WooCommerce购物车中时购物车按钮的新样式
如果商品已经在购物车中,我使用一个代码来更改产品的“添加到购物车”按钮的文本 单个产品的Php 商品在WooCommerce购物车中时购物车按钮的新样式,php,wordpress,woocommerce,product,Php,Wordpress,Woocommerce,Product,如果商品已经在购物车中,我使用一个代码来更改产品的“添加到购物车”按钮的文本 单个产品的/**/ 添加过滤器(“woocommerce\u product\u single\u add\u to\u cart\u text”、“single\u product\u button\u text”); 功能单一产品按钮文本($text){ 如果(WC()->购物车->在购物车中查找商品(WC()->购物车->生成购物车id(获取购物车id())){ $text='购物车中的产品'; } 返回$tex
/**/
添加过滤器(“woocommerce\u product\u single\u add\u to\u cart\u text”、“single\u product\u button\u text”);
功能单一产品按钮文本($text){
如果(WC()->购物车->在购物车中查找商品(WC()->购物车->生成购物车id(获取购物车id())){
$text='购物车中的产品';
}
返回$text;
}
/*用于存档/分类页面*/
添加过滤器('woocommerce\u product\u add\u to\u cart\u text'、'products\u button\u text',20,2);
功能产品\按钮\文本($text,$product){
如果(
$product->is_类型(“简单”)
&&$product->可购买()
&&$product->是否有库存()
&&WC()->购物车->在购物车中查找商品(WC()->购物车->生成购物车id($product->get_id())
) {
$text='购物车中的产品';
}
返回$text;
}
如果产品已添加到购物车,请告诉我如何更改产品“添加到购物车”按钮的样式
我尝试将代码添加到/loop/add-to-cart.php文件中,如图所示,但对我来说不起作用
是否有其他代码选项可以帮助解决我的问题
我将为你的帮助而高兴 一种方法是通过
jQuery
检查某个元素(您的“添加到购物车”按钮)是否包含某个文本,如果是这种情况,我们将添加一个额外的类,您可以通过CSS
设置样式
-选择包含指定文本的所有元素
所以你得到:
function action_wp_footer() {
?>
<script>
jQuery(document).ready(function($) {
var selector = '.add_to_cart_text:contains("Product in cart")';
// Selector contains specific text
if ( $( selector ).length > 0 ) {
$( selector ).addClass( 'product-is-added' );
} else {
$( selector ).removeClass( 'product-is-added' );
}
});
</script>
<?php
}
add_action( 'wp_footer', 'action_wp_footer' );
function action\u wp\u footer(){
?>
jQuery(文档).ready(函数($){
变量选择器='。添加到购物车文本:包含(“购物车中的产品”);
//选择器包含特定文本
如果($(选择器).length>0){
$(选择器).addClass('产品已添加');
}否则{
$(选择器).removeClass('productis added');
}
});
谢谢你的回答。在我的例子中,add\u to\u cart\u按钮
不会改变按钮的颜色。在这个样式下有add\u to\u cart\u文本
。我把这个样式放在代码中,所有的按钮都改变了颜色,产品在Сart
和add to cart
。我做错什么了吗?我明白了,anser更新了所有的内容太好了!非常感谢你的帮助!