WooCommerce: отключить продукт l oop, не касаясь шаблона - PullRequest
0 голосов
/ 05 августа 2020

Я хочу удалить продукт l oop на некоторых страницах архива. В моем случае, если текущий архив является архивом поставщика. Но я думаю, почему не слишком важно.

На данный момент я использую нестандартный archive-product.php. Я добавил условие if / else вокруг этой части кода шаблона:

if ( woocommerce_product_loop() ) {

    /**
     * Hook: woocommerce_before_shop_loop.
     *
     * @hooked woocommerce_output_all_notices - 10
     * @hooked woocommerce_result_count - 20
     * @hooked woocommerce_catalog_ordering - 30
     */
    do_action( 'woocommerce_before_shop_loop' );

    woocommerce_product_loop_start();

    if ( wc_get_loop_prop( 'total' ) ) {
        while ( have_posts() ) {
            the_post();

            /**
             * Hook: woocommerce_shop_loop.
             */
            do_action( 'woocommerce_shop_loop' );

            wc_get_template_part( 'content', 'product' );
        }
    }

    woocommerce_product_loop_end();

    /**
     * Hook: woocommerce_after_shop_loop.
     *
     * @hooked woocommerce_pagination - 10
     */
    do_action( 'woocommerce_after_shop_loop' );
} else {
    /**
     * Hook: woocommerce_no_products_found.
     *
     * @hooked wc_no_products_found - 10
     */
    do_action( 'woocommerce_no_products_found' );
}

Он работает, но мне пришлось отредактировать файл темы.

Я видел, что есть if / else для самого l oop:

if ( woocommerce_product_loop() ) {

Могу ли я подключить эту часть, чтобы отключить l oop, не касаясь archive-product.php?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...