在WooCommerce产品页面上,我添加了一个永久的“查看购物车”按钮,并通过使用以下代码(其中没有“ If”和“ Else”部分)自定义了一条消息。但是,我希望更改消息,具体取决于是否已将任何内容添加到购物车。
我不是PHP的高手,但我正在尽快学习。我尝试使用else函数,请参见下文,但效果不佳。我敢肯定,我只是想得太多。
add_action('woocommerce_after_add_to_cart_form', 'proceed_to_cart');
function proceed_to_cart()
{
global $woocommerce;
if (is_cart() && WC()->cart->cart_contents_count == 0) {
$checkout_url = $woocommerce->cart->get_cart_url();
echo '<a href="https://hqmissioncontrol.com/cart" class="cart-button button alt wc-forward" >Add 3 of the same item to redeem a FREE GIFT at Cart (excludes Gift Cards)</a>';
} else {
$checkout_url = $woocommerce->cart->get_cart_url();
echo '<a href="https://hqmissioncontrol.com/cart" class="cart-button button alt wc-forward" >View Cart</a>';
}
}
if参数似乎是主要问题。无论在哪里介绍,我都只会收到通用的“此站点遇到技术难题”消息。尝试用许多不同的版本替换它,甚至将其放在第一个add_action之前,但没有任何效果。
答案 0 :(得分:0)
我知道了,请参阅下面的修订代码。谢谢大家的投入。
add_action('woocommerce_after_add_to_cart_form', 'proceed_to_cart');
function proceed_to_cart(){
global $woocommerce;
if ( WC()->cart->get_cart_contents_count() == 0 ) {
$checkout_url = $woocommerce->cart->get_cart_url();
echo '<a href="https://hqmissioncontrol.com/cart" class="cart-button button alt wc-forward" >Add 3 of the same item to redeem a FREE GIFT at Cart (excludes Gift Cards)</a>';
} else {
$checkout_url = $woocommerce->cart->get_cart_url();
echo '<a href="https://hqmissioncontrol.com/cart" class="cart-button button alt wc-forward" >View Cart</a>';
}
}