0

It is possible for shortcodes? Paggination works fine on custom template page.But I want to display the posts with shortcodes. Posts are displayed well.But pagination works incorrectly.The same posts on all pages. My custom query loop in page template:

 $page = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'posts_per_page' =>'1', 'orderby' => 'post_date', 'paged' => $paged, 'post_type' => 'accomodation', 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'accomodation_category', 'field' => 'slug', 'terms' => 'gostinnitsy-2' ), array( 'taxonomy' => 'location', 'field' => 'slug', 'terms' => 'litva' ) ) ); $custom_query = new WP_Query( $args ); // Pagination fix $temp_query = $wp_query; $wp_query = NULL; $wp_query = $custom_query; ?> have_posts() ) : while ($custom_query-> have_posts() ) : $custom_query->the_post();?> max_num_pages ); $wp_query = NULL; $wp_query = $temp_query;?>

And my shortcode in function.php

 function accomodation_catalog_shortcode( $atts ) { extract(shortcode_atts(array( 'accomodation' => '', 'location' => '', 'number' =>'-1', 'orderby' => 'post_date' ), $atts)); $page = (get_query_var('paged')) ? get_query_var('paged') : 1; global $post; $args = array( 'posts_per_page' =>$number, 'orderby' => $orderby, 'paged' => $paged, 'post_type' => 'accomodation', 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'accomodation_category', 'field' => 'slug', 'terms' => $accomodation ), array( 'taxonomy' => 'location', 'field' => 'slug', 'terms' => $location ) ) ); $custom_query = new WP_Query( $args ); // Pagination fix $temp_query = $wp_query; $wp_query = NULL; $wp_query = $custom_query; ?> have_posts() ) : while ($custom_query-> have_posts() ) : $custom_query->the_post();?> max_num_pages ); $wp_query = NULL; $wp_query = $temp_query;?>

I corrected the error:'paged' => $page, and pagination work!

But why when I want to display shortcode content under page content, shortcode content are displayed above page content?

In admin:

<p>page content<p> [ accomodation-catalog location='slug ' accomodation='slug'] 

display

<div>shortcode content</div> <p>page content<p>

What is wrong?

1

1 Answer 1

2

Hmmm... It looks like your shortcode function defines $page, but the query itself uses $paged....with a d on the end. Maybe remove the d? In other words, try changing

'paged' => $paged 

into

'paged' => $page 
0

    Start asking to get answers

    Find the answer to your question by asking.

    Ask question

    Explore related questions

    See similar questions with these tags.