Wordpress WooCommerce在购物车上添加Variation

时间:2017-02-06 11:59:40

标签: wordpress woocommerce

很久以前创建了一个页面并将购物车按钮移动到侧边栏中 现在我想补充一个产品变体,正如我所看到的,我没有看到选择。 因为这没有插入代码中。

现在我的问题是我需要使用此代码插入什么才能生效。

<?php

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

global $product;

?>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">

    <p class="price"><?php echo $product->get_price_html(); ?></p>

    <meta itemprop="price" content="<?php echo esc_attr( $product->get_display_price() ); ?>" />
    <meta itemprop="priceCurrency" content="<?php echo esc_attr( get_woocommerce_currency() ); ?>" />
    <link itemprop="availability" href="http://schema.org/<?php echo $product->is_in_stock() ? 'InStock' : 'OutOfStock'; ?>" />

<?php if ( wc_gzd_get_gzd_product( $product )->get_tax_info() ) : ?>
    <p class="wc-gzd-additional-info tax-info"><?php echo wc_gzd_get_gzd_product( $product )->get_tax_info(); ?></p>
<?php elseif ( get_option( 'woocommerce_gzd_small_enterprise' ) == 'yes' ) : ?>
    <p class="wc-gzd-additional-info small-business-info"><?php echo wc_gzd_get_small_business_product_notice(); ?></p>
<?php endif; ?>

<?php if ( wc_gzd_get_gzd_product( $product )->get_shipping_costs_html() ) : ?>
    <p class="wc-gzd-additional-info shipping-costs-info"><?php echo wc_gzd_get_gzd_product( $product )->get_shipping_costs_html();?></p>
<?php endif; ?>

<?php if ( wc_gzd_get_gzd_product( $product )->get_delivery_time_html() ) : ?><i class="fi fa fa-truck" style="font-size:20px;width:20px;height:20px;line-height:20px;color:#ee9b11;"></i>
    <?php echo wc_gzd_get_gzd_product( $product )->get_delivery_time_html();?></p>
<?php elseif ( $product->is_type( 'variable' ) ) : ?>
    <p class="wc-gzd-additional-info delivery-time-info"></p>
<?php endif; ?>

<?php

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

global $product;

if ( ! $product->is_purchasable() ) {
    return;
}

?>

<?php
    // Availability
    $availability      = $product->get_availability();
    $availability_html = empty( $availability['availability'] ) ? '' : '<p class="stock ' . esc_attr( $availability['class'] ) . '">' . esc_html( $availability['availability'] ) . '</p>';

    echo apply_filters( 'woocommerce_stock_html', $availability_html, $availability['availability'], $product );
?>

<?php if ( $product->is_in_stock() ) : ?>

    <?php do_action( 'woocommerce_before_add_to_cart_form' ); ?>

    <form class="cart" method="post" enctype='multipart/form-data'>
        <?php do_action( 'woocommerce_before_add_to_cart_button' ); ?>

        <?php
            if ( ! $product->is_sold_individually() ) {
                woocommerce_quantity_input( array(
                    'min_value'   => apply_filters( 'woocommerce_quantity_input_min', 1, $product ),
                    'max_value'   => apply_filters( 'woocommerce_quantity_input_max', $product->backorders_allowed() ? '' : $product->get_stock_quantity(), $product ),
                    'input_value' => ( isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : 1 )
                ) );
            }
        ?>

        <input type="hidden" name="add-to-cart" value="<?php echo esc_attr( $product->id ); ?>" />

        <button type="submit" class="single_add_to_cart_button button alt"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button>

        <?php do_action( 'woocommerce_after_add_to_cart_button' ); ?>
    </form>

    <?php do_action( 'woocommerce_after_add_to_cart_form' ); ?>

<?php endif; ?>

1 个答案:

答案 0 :(得分:0)

有一个文件mini-cart.php,其中包含购物车小工具使用的迷你购物车标记。可以通过将插件文件woocommerce / cart / mini-cart.php复制到yourtheme / woocommerce / cart / mini-cart.php来覆盖此模板。

此后在foreach声明中

foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {

添加

if($cart_item['variation_id'] != 0) {
       // Getting attribute size selected value
       $attribute_size = $cart_item['variation']['attribute_pa_sizes'];
       echo $attribute_size;
}

关于变量&#39; attribute_pa_sizes&#39; &#39;尺寸&#39;是变种slug