Php 如何在";“继续结帐”;,特定产品类别的按钮[WooCommerce]
我正在尝试为特定产品类别的“继续结帐”按钮添加自定义URL 我已经使用下面的代码成功地在上面添加了一个自定义URL,但是现在我想在购物车中根据产品显示一个不同的URLPhp 如何在";“继续结帐”;,特定产品类别的按钮[WooCommerce],php,wordpress,woocommerce,conditional,checkout,Php,Wordpress,Woocommerce,Conditional,Checkout,我正在尝试为特定产品类别的“继续结帐”按钮添加自定义URL 我已经使用下面的代码成功地在上面添加了一个自定义URL,但是现在我想在购物车中根据产品显示一个不同的URL add_filter('woocommerce_get_checkout_url', 'dj_redirect_checkout'); function dj_redirect_checkout($url) { global $woocommerce; if(is_cart()){ $ch
add_filter('woocommerce_get_checkout_url', 'dj_redirect_checkout');
function dj_redirect_checkout($url) {
global $woocommerce;
if(is_cart()){
$checkout_url = 'https://example.com';
}
else {
//other url or leave it blank.
}
return $checkout_url;
}
例如,我的WooCommerce网站上有两个类别(贸易线1和贸易线2)。如果购物车中有其他类别,我想在“继续结帐”按钮上放置一个不同的URL
add_filter('woocommerce_get_checkout_url', 'dj_redirect_checkout');
function dj_redirect_checkout($url) {
global $woocommerce;
if(is_cart()){
$checkout_url = 'https://example.com';
}
else {
//other url or leave it blank.
}
return $checkout_url;
}
任何帮助都将不胜感激
非常感谢你 您应该循环浏览购物车项目,并检查是否有任何项目具有您想要针对的术语之一。您应该使用“Tradeline 1”、“Tradeline 2”的slug,可能是“Tradeline-1” 下面是一个快速POC:
$cat_in_cart = false;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
if ( has_term( 'tradeline-1', 'product_cat', $product->get_id() ) ) {
$cat_in_cart = true;
break;
}
}
if( $cat_in_cart == true ) // do stuff
有用的参考资料:
干杯 嗨,谢谢你的密码。我应该把链接放在哪里?或者我需要在我的代码中添加您的代码吗?对不起,我有点困惑。没问题!是的,代码是集成代码的概念证明。如果你不熟悉PHP,那就不太容易了。非常感谢你。我已经设法将它与我的代码集成。