如何在一个div内加载WooCommerce交叉销售和购物车抵押品

时间:2019-03-20 10:52:15

标签: php wordpress woocommerce cart

我正在尝试将WooCommerce .cross-sells div加载到名为.cart-collaterals-cross-sell的自定义div中,该自定义div已经包含.cart-collaterals elements,以便我可以更好地对它们进行样式设置。目前.cross-sells由cross-sells.php加载,我试图将其代码实现到cart.php中,以便将两个函数都放在一个文件中,并且可以将它们放在同一分区问题是当我在cart.php中复制代码时,交叉销售不会加载

这是cart.php的原始代码,其中已经包含.cart-collaterals

<div class="cart-collaterals-cross-sell">
<div class="cart-collaterals">

    <h2><?php _e( 'Cart totals', 'woocommerce' ); ?></h2>

    <?php if ( ! is_ajax() && wc_coupons_enabled() ) { ?>
        <div class="nm-coupon-wrap">
            <div class="nm-coupon-inner">
                <a href="#" id="nm-coupon-btn"><?php esc_html_e( 'Gutschein', 'nm-framework' ); ?></a>

                <div class="nm-coupon">
                    <input type="text" id="nm-coupon-code" class="input-text" name="nm_coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" />

                    <input type="submit" id="nm-apply-coupon-btn" class="button border" name="nm_apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>" />

                    <?php do_action( 'woocommerce_cart_coupon' ); ?>
                </div>
            </div>
        </div>
    <?php } ?>

    <?php 
        /**
         * Cart collaterals hook.
         *
         * @hooked woocommerce_cross_sell_display
         * @hooked woocommerce_cart_totals - 10
         */
        do_action( 'woocommerce_cart_collaterals' );
    ?>

</div>
</div>

这就是我尝试的方式。我在做什么错了?

<div class="cart-collaterals-cross-sell">
<div class="cart-collaterals">

    <h2><?php _e( 'Cart totals', 'woocommerce' ); ?></h2>

    <?php if ( ! is_ajax() && wc_coupons_enabled() ) { ?>
        <div class="nm-coupon-wrap">
            <div class="nm-coupon-inner">
                <a href="#" id="nm-coupon-btn"><?php esc_html_e( 'Gutschein', 'nm-framework' ); ?></a>

                <div class="nm-coupon">
                    <input type="text" id="nm-coupon-code" class="input-text" name="nm_coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" />

                    <input type="submit" id="nm-apply-coupon-btn" class="button border" name="nm_apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>" />

                    <?php do_action( 'woocommerce_cart_coupon' ); ?>
                </div>
            </div>
        </div>
    <?php } ?>

    <?php 
        /**
         * Cart collaterals hook.
         *
         * @hooked woocommerce_cross_sell_display
         * @hooked woocommerce_cart_totals - 10
         */
        do_action( 'woocommerce_cart_collaterals' );
    ?>

</div>
    <div class="cross-sells">

        <h2><?php _e( 'You may be interested in&hellip;', 'woocommerce' ) ?></h2>

        <?php woocommerce_product_loop_start(); ?>

            <?php foreach ( $cross_sells as $cross_sell ) : ?>

                <?php
                    $post_object = get_post( $cross_sell->get_id() );

                    setup_postdata( $GLOBALS['post'] =& $post_object );

                    wc_get_template_part( 'content', 'product' ); ?>

            <?php endforeach; ?>

        <?php woocommerce_product_loop_end(); ?>

    </div>
</div>

1 个答案:

答案 0 :(得分:1)

您可以使用以下两个功能

  1. 对于购物车抵押品==> woocommerce_cart_totals();
  2. 对于交叉销售=======> woocommerce_cross_sell_display();

尝试使用下面提供的代码:

<div class="cart-collaterals-cross-sell">
<div class="cart-collaterals">

    <h2><?php _e( 'Cart totals', 'woocommerce' ); ?></h2>

    <?php if ( ! is_ajax() && wc_coupons_enabled() ) { ?>
        <div class="nm-coupon-wrap">
            <div class="nm-coupon-inner">
                <a href="#" id="nm-coupon-btn"><?php esc_html_e( 'Gutschein', 'nm-framework' ); ?></a>

                <div class="nm-coupon">
                    <input type="text" id="nm-coupon-code" class="input-text" name="nm_coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" />

                    <input type="submit" id="nm-apply-coupon-btn" class="button border" name="nm_apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>" />

                    <?php do_action( 'woocommerce_cart_coupon' ); ?>
                </div>
            </div>
        </div>
    <?php } ?>

    <?php 
        /**
         * Cart collaterals hook.
         *
         * @hooked woocommerce_cross_sell_display
         * @hooked woocommerce_cart_totals - 10
         */
        //do_action( 'woocommerce_cart_collaterals' );
        woocommerce_cart_totals();
    ?>

</div>
    <div class="cross-sells">

        <?php woocommerce_cross_sell_display(); ?>

    </div>
</div>