简体   繁体   中英

Wordpress child page pagination

I have the following query on a template where I call child pages to show:

<?php $parent = $post->ID; ?>   
<?php query_posts(array('showposts' => 3, 'paged' => $page_num, 'post_parent' => $post-    >ID, 'post_type' => 'page', 'orderby'  => 'menu_order', 'order' => 'ASC'));?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

It works fine, but I really need t opaginate results, I tried lots of plugins to achieve this but no one works, in the best scenary the pagination plugin shows me correctly how many pages are, but when I click on second page for instance it shows me the same results, the url changes like /mysite/category/page/2/ but it doesn't change the content.

Any ideas ??

How are you setting $page_num?

Are you updating the variable with get_query_var()? If not, you can use something like this to set the variable:

$page_num = (get_query_var('paged')) ? get_query_var('paged') : 1;

Take a look at: http://codex.wordpress.org/Pagination#Adding_the_.22paged.22_parameter_to_a_query

Thanks to Codebrick my code now look like this and it works !

<?php $parent = $post->ID; ?>   
<?php $page_num = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<?php query_posts(array('paged' => $page_num, 'post_parent' => $post->ID, 'post_type' => 'page', 'orderby'  => 'menu_order', 'order' => 'ASC', 'posts_per_page' => 3, 'paged' => $paged));?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

and the rest is what you want :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM