如何将woocommerce购物车内容导入商店页面?

时间:2014-04-01 16:26:34

标签: php wordpress woocommerce

您好我正在使用woocommerce的代码在我的网站上插入购物车内容。有人知道我怎么能修改这个代码,所以如果它在购物车上显示0,它会指引我到商店页面而不是购物车页面?

<?php global $woocommerce; ?>

<a class="cart-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" title="<?php _e('View your shopping cart', 'woothemes'); ?>"><?php echo sprintf(_n('%d item', '%d items', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?> - <?php echo $woocommerce->cart->get_cart_total(); ?></a>

// Ensure cart contents update when products are added to the cart via AJAX (place the following in functions.php)
add_filter('add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment');

function woocommerce_header_add_to_cart_fragment( $fragments ) {
    global $woocommerce;

    ob_start();

    ?>
    <a class="cart-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" title="<?php _e('View your shopping cart', 'woothemes'); ?>"><?php echo sprintf(_n('%d item', '%d items', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?> - <?php echo $woocommerce->cart->get_cart_total(); ?></a>
    <?php

    $fragments['a.cart-contents'] = ob_get_clean();

    return $fragments;

}

1 个答案:

答案 0 :(得分:0)

如果您想在购物车为空时重定向到商店,则可以使用操作挂钩&#39; template_redirect&#39;如下:

add_action( 'template_redirect', 'my_template_redirect' );
function my_template_redirect()
{
    if ( is_page( wc_get_page_id( 'cart' ) ) && sizeof( WC()->cart->get_cart() ) == 0 )            
    {
        wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) );
        exit;
    }
}

如果您使用其他页面来显示购物车内容,则必须修改if语句的第一个条件,以检查该页面是否显示购物车内容。