Почему продукт l oop не работает вне файла archive-product. php? - PullRequest
0 голосов
/ 22 апреля 2020

Я занимаюсь созданием собственного сайта электронной коммерции и хочу показать некоторые товары на другой странице.

Когда я копирую этот l oop со страницы архива на мою целевую страницу, он ничего не выводит

<?php
if (woocommerce_product_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');
}
?>

Насколько я знаю, woocommerce_product_l oop () возвращает true (1), но wc_get_prop ('total') возвращает 0, что соответствует значениям по умолчанию wc_setup_l oop () , вызываемым в wc_get_loop_prop () до возвращая истину или ложь. Я не могу найти, чтобы wc_setup_l oop () вызывался до того, как мы запустили продукт-архив. php products l oop, так почему же все работает там, а не на моей целевой странице; кроме окружающего HTML и нескольких действий, код похож.

Причина, по которой я просто хочу скопировать и вставить этот код, это эксперименты, просто сводит меня с ума, что он не будет работать свободная sh страница.

Если это поможет, моя страница выглядит примерно так:

<?php get_header();?>
<div>
  <!-- paste code here -->
</div>
<?php get_footer();?>

ПРИМЕЧАНИЕ: я php новичок ie

1 Ответ

0 голосов
/ 22 апреля 2020

глобальные публикации для архива установлены на тип публикации продуктов, и когда вы создаете отдельную страницу или шаблон страницы, вы не можете узнать, что вы хотите отобразить здесь, именно по этой причине мы используем WP_Query, вы можете прочитать это артикул

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