Wordpress cpt分页

时间:2013-12-20 11:48:15

标签: jquery wordpress pagination

我有一个自定义的帖子类型插件,它通过短代码引入所有帖子。这一切都很好。我希望能够通过jquery在返回的帖子中进行分页,并尝试了各种在线教程的方法。最近两天一直很痛苦。

我的代码是:

 function xma_display_stores() {
     $paged = (get_query_var('paged')) ? get_query_var('paged') : 2;
     $args = array('post_type' = > 'stores', 'orderby' = > 'title', 'order' = > 'asc', 'posts_per_page' = > $paged);
     $success = new WP_Query($args);
     $output = '';
     $output. = sprintf("<table class='stores'>");
     $output. = sprintf("<tr><th>File Name</th><th>Date added</th><th>Download</th></tr>");
     while ($success - > have_posts()) {
         $success - > the_post();
         $output. = sprintf("<tr>");
         $output. = sprintf("<td>%s</td>", get_the_title());
         $output. = sprintf("<td>%s</td>", get_the_date());
         $output. = sprintf("<td>%s</td>", wp_get_attachment_link());
         $output. = sprintf("<tr>");
     }
     $output. = sprintf("</tr></table>");
     $output. = sprintf("<p>%s</p>", next_posts_link('Next set'));
     $output. = sprintf("<p>%s</p>", previous_posts_link('Prev set'));
     return $output;
 }
 add_shortcode('display_stores', 'xma_display_stores');

1 个答案:

答案 0 :(得分:1)

将$ paged和$ args的版本替换为:

 $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
 $args = array( 'post_type' = > 'stores', 'orderby' = > 'title', 'order' = > 'asc', 'paged' => $paged );

posts_per_page确定要在页面上显示的帖子数量,而不是要显示的帖子页面。

另外将$ success-&gt; max_num_pages添加为next_posts_link的第二个参数,以便:

 $output. = sprintf( "<p>%s</p>", next_posts_link( 'Next set', $success->max_num_pages ) );