Как загрузить перекрестные продажи WooCommerce и корзины-обеспечения в один div

#php #wordpress #woocommerce #cart

#php #wordpress #woocommerce #Корзина

Вопрос:

Я пытаюсь загрузить WooCommerce .cross-sells div в пользовательский div с именем .cart-collaterals-cross-sell , который уже включает .cart-collaterals elements , чтобы я мог лучше оформить их в одну строку. На данный момент .cross-sells загружается cross-sells.php и я попытался внедрить его код в cart.php , чтобы у меня были обе функции в одном файле и чтобы я мог поместить их в один div. Проблема в том, что перекрестные продажи не загружаются, когда я копирую код внутри 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() amp;amp; 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() amp;amp; 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 inamp;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'] =amp; $post_object );

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

            <?php endforeach; ?>

        <?php woocommerce_product_loop_end(); ?>

    </div>
</div>
  

Ответ №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() amp;amp; 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>