[英]WooCommerce 'if ( is_cart() )' in functions.php not working?
我已經在我的functions.php中添加了以下代碼,因此可以更改WooCommerce標准的“添加到購物車通知”。
該通知確實發生了變化,但是if ( is_cart() )
似乎不起作用。 它在購物車頁面上輸出FALSE。
我一定有監督的事..?
add_filter ( 'wc_add_to_cart_message', 'yw_add_to_cart_message', 10, 2 );
function yw_add_to_cart_message($message, $product_id = null) {
$titles[] = get_the_title( $product_id );
$titles = array_filter( $titles );
if ( is_cart() ) {
$cart_link = '<div class="uk-width-medium-1-5 uk-text-right"><a href="' . WC_Cart::get_checkout_url() . '"><i class="uk-icon-check-square-o"></i> ' . __( 'Checkout', 'woocommerce' ) . '</a></div>';
} else {
$cart_link = '<div class="uk-width-medium-1-5 uk-text-right"><a href="' . WC_Cart::get_cart_url() . '"><i class="uk-icon-shopping-cart"></i> ' . __( 'View Cart', 'woocommerce' ) . '</a></div>';
}
$added_text = '<div class="uk-grid uk-grid-collapse" data-uk-grid-margin><div class="uk-width-medium-4-5">' . sprintf( _n( '%s has been added to your cart.', '%s have been added to your cart.', sizeof( $titles ), 'woocommerce' ), wc_format_list_of_items( $titles ) ) . '</div>' . $cart_link . '</div>';
$message = sprintf( '%s', $added_text );
return $message;
}
您必須使用get_option( 'woocommerce_cart_redirect_after_add' ) == 'yes'
而不是is_cart()
:
add_filter ( 'wc_add_to_cart_message', 'yw_add_to_cart_message', 10, 2 );
function yw_add_to_cart_message($message, $product_id = null) {
$titles[] = get_the_title( $product_id );
$titles = array_filter( $titles );
if ( get_option( 'woocommerce_cart_redirect_after_add' ) == 'yes' ) {
$cart_link = '<a href="' . WC_Cart::get_checkout_url() . '"><i class="uk-icon-check-square-o"></i> ' . __( 'Checkout', 'woocommerce' ) . '</a>';
} else {
$cart_link = '<a href="' . WC_Cart::get_cart_url() . '"><i class="uk-icon-shopping-cart"></i> ' . __( 'View Cart', 'woocommerce' ) . '</a>';
}
$added_text = '<div class="uk-grid uk-grid-collapse" data-uk-grid-margin><div class="uk-width-medium-4-5">' . sprintf( _n( '%s has been added to your cart.', '%s have been added to your cart.', sizeof( $titles ), 'woocommerce' ), wc_format_list_of_items( $titles ) ) . '</div><div class="uk-width-medium-1-5 uk-text-right">' . $cart_link . '</div></div>';
$message = sprintf( '%s', $added_text );
return $message;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.