Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 商品在WooCommerce购物车中时购物车按钮的新样式_Php_Wordpress_Woocommerce_Product - Fatal编程技术网

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更新了所有的内容太好了!非常感谢你的帮助!