Извлечение идентификаторов продуктов из нескольких страниц нумерации страниц списка продуктов в WooCommerce ⇐ Php
Извлечение идентификаторов продуктов из нескольких страниц нумерации страниц списка продуктов в WooCommerce
Я хотел бы извлечь идентификаторы продуктов из списка продуктов. Но мне не нужны идентификаторы продуктов всего списка продуктов, а только подмножество, которое появляется в данный момент. Этот фрагмент кода правильно подсчитывает идентификаторы продуктов, но всегда учитывает только текущую страницу продукта и помещает идентификаторы этих продуктов в массив:
$all_products = $wp_query->posts; $product_ids = []; $product_ids = wp_list_pluck($all_products, 'ID'); Мне понадобится PHP-код, который помещает идентификаторы продуктов в массив аналогично описанному выше методу, но собирает идентификаторы продуктов и с других страниц, если текущий набор продуктов имеет несколько страниц продуктов (нумерация страниц).
>
"Этот код получит идентификаторы продуктов только с текущей страницы. Если вы хотите получить идентификаторы продуктов со всех страниц, вам нужно будет запустить этот цикл для каждой страницы". Но я не знаю, как это сделать.
$paged = (get_query_var('paged')) ? get_query_var('paged'): 1; $args = массив( 'post_type' => 'продукт', 'posts_per_page' => 10, 'paged' => $paged, ); $loop = новый WP_Query($args); $product_ids = массив(); while ($loop->have_posts()) : $loop->the_post(); $product_ids[] = get_the_ID(); в конце концов; wp_reset_query(); Это мой полный код. Но это работает только на первой странице товара, остальные ничего в массив ($product_ids) не передают. Этот продукт не работает при фильтрации.:
add_action( 'woocommerce_before_shop_loop', 'run_product_query', 10); функция run_product_query() { глобальный $пост; $paged = (get_query_var('paged')) ? get_query_var('paged'): 1; $args = массив( 'post_type' => 'продукт', 'posts_per_page' => 1000000, 'paged' => $paged ); $loop = новый WP_Query($args); $product_ids = массив(); while ($loop->have_posts()) : $loop->the_post(); $product_ids[] = get_the_ID(); в конце концов; wp_reset_postdata(); $wishlist_products = jvm_woocommerce_wishlist_get_wishlist_product_ids(); $intersect = array_intersect( $product_ids, $wishlist_products ); эхо ''; print_r('Товары из списка желаний:'); print_r ($wishlist_products); эхо ''; print_r('$product_ids ID:'); print_r($product_ids); эхо ''; print_r('Идентификаторы Itersect:'); print_r ($ пересечения); эхо ''; $wishlist_count = count($intersect); $product_count = количество ($product_ids); echo '' .$product_count. «Продукты и это в моей коллекции» .$wishlist_count. ''; } Я тоже пробовал этот код, но он годился только для текущей страницы. Этот продукт работает при фильтрации.:
$current_products = $wp_query->posts; $wishlist_products = jvm_woocommerce_wishlist_get_wishlist_product_ids(); $intersect = array_intersect( $wishlist_products, array_column($current_products, 'ID') ); $wishlist_count = count($intersect); $product_count = количество ($current_products); echo '' .$product_count. «Продукты и это в моей коллекции» .$wishlist_count. '';
Я хотел бы извлечь идентификаторы продуктов из списка продуктов. Но мне не нужны идентификаторы продуктов всего списка продуктов, а только подмножество, которое появляется в данный момент. Этот фрагмент кода правильно подсчитывает идентификаторы продуктов, но всегда учитывает только текущую страницу продукта и помещает идентификаторы этих продуктов в массив:
$all_products = $wp_query->posts; $product_ids = []; $product_ids = wp_list_pluck($all_products, 'ID'); Мне понадобится PHP-код, который помещает идентификаторы продуктов в массив аналогично описанному выше методу, но собирает идентификаторы продуктов и с других страниц, если текущий набор продуктов имеет несколько страниц продуктов (нумерация страниц).
>
"Этот код получит идентификаторы продуктов только с текущей страницы. Если вы хотите получить идентификаторы продуктов со всех страниц, вам нужно будет запустить этот цикл для каждой страницы". Но я не знаю, как это сделать.
$paged = (get_query_var('paged')) ? get_query_var('paged'): 1; $args = массив( 'post_type' => 'продукт', 'posts_per_page' => 10, 'paged' => $paged, ); $loop = новый WP_Query($args); $product_ids = массив(); while ($loop->have_posts()) : $loop->the_post(); $product_ids[] = get_the_ID(); в конце концов; wp_reset_query(); Это мой полный код. Но это работает только на первой странице товара, остальные ничего в массив ($product_ids) не передают. Этот продукт не работает при фильтрации.:
add_action( 'woocommerce_before_shop_loop', 'run_product_query', 10); функция run_product_query() { глобальный $пост; $paged = (get_query_var('paged')) ? get_query_var('paged'): 1; $args = массив( 'post_type' => 'продукт', 'posts_per_page' => 1000000, 'paged' => $paged ); $loop = новый WP_Query($args); $product_ids = массив(); while ($loop->have_posts()) : $loop->the_post(); $product_ids[] = get_the_ID(); в конце концов; wp_reset_postdata(); $wishlist_products = jvm_woocommerce_wishlist_get_wishlist_product_ids(); $intersect = array_intersect( $product_ids, $wishlist_products ); эхо ''; print_r('Товары из списка желаний:'); print_r ($wishlist_products); эхо ''; print_r('$product_ids ID:'); print_r($product_ids); эхо ''; print_r('Идентификаторы Itersect:'); print_r ($ пересечения); эхо ''; $wishlist_count = count($intersect); $product_count = количество ($product_ids); echo '' .$product_count. «Продукты и это в моей коллекции» .$wishlist_count. ''; } Я тоже пробовал этот код, но он годился только для текущей страницы. Этот продукт работает при фильтрации.:
$current_products = $wp_query->posts; $wishlist_products = jvm_woocommerce_wishlist_get_wishlist_product_ids(); $intersect = array_intersect( $wishlist_products, array_column($current_products, 'ID') ); $wishlist_count = count($intersect); $product_count = количество ($current_products); echo '' .$product_count. «Продукты и это в моей коллекции» .$wishlist_count. '';
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Извлечение нумерации из пользовательского стиля списка в .docx с помощью Python
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Извлечение нумерации из стиля пользовательского списка в .docx с использованием python
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Маркировка страниц Swiper: стиль для маркера нумерации страниц посещенных слайдов.
Anonymous » » в форуме CSS - 0 Ответы
- 59 Просмотры
-
Последнее сообщение Anonymous
-