Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- add_action('pre_get_posts', 'wc_pre_get_posts_query');
- function wc_pre_get_posts_query($query) {
- global $woocommerce_loop;
- if (is_main_query() && ( $query->query['post_type'] == 'product' ) || !isset($query->query['post_type'])) {
- if (isset($query->query['paged'])) {
- $woocommerce_loop['paged'] = $query->query['paged'];
- }
- }
- if (!$query->is_post_type_archive || $query->query['post_type'] !== 'product') {
- return;
- }
- $query->is_paged = true;
- $query->query['paged'] = $woocommerce_loop['paged'];
- $query->query_vars['paged'] = $woocommerce_loop['paged'];
- }
- add_action('loop_end', 'query_loop_end');
- function query_loop_end($query) {
- if (!$query->is_post_type_archive || $query->query['post_type'] !== 'product') {
- return;
- }
- global $woocommerce_loop;
- $woocommerce_loop['pagination']['paged'] = $woocommerce_loop['paged'];
- $woocommerce_loop['pagination']['found_posts'] = $query->found_posts;
- $woocommerce_loop['pagination']['max_num_pages'] = $query->max_num_pages;
- $woocommerce_loop['pagination']['post_count'] = $query->post_count;
- $woocommerce_loop['pagination']['current_post'] = $query->current_post;
- }
- add_action('woocommerce_after_template_part', 'wc_shortcode_pagination');
- function wc_shortcode_pagination($template_name) {
- if (!( $template_name === 'loop/loop-end.php' && is_page() )) {
- return;
- }
- global $wp_query, $woocommerce_loop;
- if (!isset($woocommerce_loop['pagination'])) {
- return;
- }
- $wp_query->query_vars['paged'] = $woocommerce_loop['pagination']['paged'];
- $wp_query->query['paged'] = $woocommerce_loop['pagination']['paged'];
- $wp_query->max_num_pages = $woocommerce_loop['pagination']['max_num_pages'];
- $wp_query->found_posts = $woocommerce_loop['pagination']['found_posts'];
- $wp_query->post_count = $woocommerce_loop['pagination']['post_count'];
- $wp_query->current_post = $woocommerce_loop['pagination']['current_post'];
- show_woocommerce_pagination();
- }
- remove_action('woocommerce_after_shop_loop', 'woocommerce_pagination', 10);
- add_action('woocommerce_after_shop_loop', 'show_woocommerce_pagination', 10);
- function show_woocommerce_pagination() {
- woocommerce_pagination();
- }
- ?>
Add Comment
Please, Sign In to add comment