Php 如何从woo commerce购物车中删除“继续购物”按钮?

Php 如何从woo commerce购物车中删除“继续购物”按钮?,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,如果购物车包含所有产品,我试图从woo commerce购物车中删除“继续购物”按钮。它没有删除按钮,所以只需要在微调我做的不正确的帮助。我认为我的代码可以工作,而我的php调试器由于某种奇怪的原因目前无法工作 “继续购物”按钮的元素是:name=“hpy\u cs\u continue” 代码如下: add_action( 'woocommerce_after_cart', 'verify_all_products_in_cart' ); function verify_all_pr

如果购物车包含所有产品,我试图从woo commerce购物车中删除“继续购物”按钮。它没有删除按钮,所以只需要在微调我做的不正确的帮助。我认为我的代码可以工作,而我的php调试器由于某种奇怪的原因目前无法工作

“继续购物”按钮的元素是:
name=“hpy\u cs\u continue”

代码如下:

add_action( 'woocommerce_after_cart', 'verify_all_products_in_cart' );
    
function verify_all_products_in_cart() {
    
    $all_products = false;
    $all_products_array  = wc_get_products( array( 'return' => 'ids', 'limit' => -1 ) );
    $products_in_cart_array = array();
    
  // Loop over $cart items
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {    
    $products_in_cart_array &= in_array($cart_item['product_id']);
}
    if($all_products_array == $products_in_cart_array){
        $all_products = true;
    } else{
        $all_products = false;
    }
                                  
  if ($all_products = true){
      $shopping_cart_button = '<style>[name="hpy_cs_continue"]{ display:none;}</style>';
  } else{
      $shopping_cart_button = '<style>[name="hpy_cs_continue"]{ display:block;}</style>';
  }
   
    return $shopping_cart_button;
  
}
add_action('woocommerce_在_cart之后,'verify_所有产品在_cart中');
功能验证\u所有\u产品\u在\u购物车()中{
$all_products=false;
$all_products_array=wc_get_products(array('return'=>'ids','limit'=>-1));
$products_in_cart_array=array();
//循环使用$cart项目
foreach(WC()->cart->get_cart()作为$cart\u item\u key=>$cart\u item){
$products_in_cart_array&=in_array($cart_item['product_id');
}
if($all_products_array==$products_in_cart_array){
$all_products=true;
}否则{
$all_products=false;
}
如果($all_products=true){
$shopping_cart_button='[name=“hpy_cs_continue”]{display:none;}';
}否则{
$shopping_cart_button='[name=“hpy_cs_continue”]{display:block;}';
}
返回$shopping\u cart\u按钮;
}

查看您的代码,您需要2个参数;你的代码有一个

如果您正在开发,我建议添加
define('WP_DEBUG',true)到您的wp-config.php文件以捕获类似的内容。作为调试过程的一部分,如果
块始终呈现
显示:块,它应该指示if语句总是产生false

我还建议使用if
(!array_diff(…)
,而不是在数组中循环,或者if必须在数组中循环。实际上,我不确定这样比较两个数组会有什么表现,但即使您刚刚更改了它,我还是建议使用if(count(…)==count(…)


希望这能有所帮助。

您可能会看到这篇文章。它会帮助你的。