Как загрузить WooCommerce кросс-продажу и корзину-коллатерали в одном разделе - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь загрузить 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() && 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 Ответ

1 голос
/ 20 марта 2019

Вы можете использовать следующие две функции

  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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...