在单个产品页面中添加到购物车按钮后添加自定义按钮

时间:2017-04-15 08:18:59

标签: php wordpress woocommerce cart hook-woocommerce

我正在开发一个基于WooCommerce的电子商务商店。

我想在添加到购物车按钮下方添加一个查看购物车。如果它只能在购物车中成功添加至少1个商品后才会显示更好:

//add view cart button after add to cart button

add_action('woocommerce_after_add_to_cart_button','view_cart_store');
function view_cart_store() { ?>
    <a class="button wc-forward" href="https://example.xxx/cart/"><?php _e( 'View Shopping Cart', 'woocommerce' ) ?></a>
    <?php
}

我怎样才能做到这一点?

感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用WC_Cart is_empty()方法和wc_get_page_permalink()函数:

add_action('woocommerce_after_add_to_cart_button','view_cart_store');
function view_cart_store() {
    if ( ! WC()->cart->is_empty() )
        echo '<a class="button wc-forward" href="'.wc_get_page_permalink( 'cart' ).'">'. __( 'View Shopping Cart', 'woocommerce' ) .'</a>';
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

此代码经过测试并有效。

答案 1 :(得分:0)

您发布的代码应该已经在添加到购物车按钮下方显示购物车链接。

在下面的示例中,我正在检查购物车项目计数以确定是否显示链接。

我做的另一个小更新是使用WC功能来检索购物车网址。

function wpse_view_cart_store() {
    if ( WC()->cart->get_cart_contents_count() ) : ?>

        <a class="button wc-forward" href="<?php echo esc_url( wc_get_cart_url() ); ?>"><?php _e( 'View Shopping Cart', 'woocommerce' ) ?></a>

    <?php endif;
}
add_action( 'woocommerce_after_add_to_cart_button', 'wpse_view_cart_store' );