【问题标题】:Wordpress cpt paginationWordPress cpt 分页
【发布时间】:2013-12-21 16:36:58
【问题描述】:

我有一个自定义帖子类型插件,它通过简码引入所有帖子。这一切都很好。我希望能够使用 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');

【问题讨论】:

  • 如果你想用 jquery 分页,只需使用 DataTables 插件datatables.net
  • 我不想使用插件 - 代码本身在插件中,我希望它是自包含的。
  • 你能给我们看一下你的插件输出的上限吗,你的 Next Set 和 Prev Set 似乎不能正常工作??
  • 正确 - 它们没有出现在输出中,当然,上限是多少?
  • 更新以下函数的代码:next_posts_link 和 previous_posts_link ...顺便说一句,这是一个屏幕帽xD

标签: jquery wordpress pagination


【解决方案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->max_num_pages 作为第二个参数添加到 next_posts_link 所以:

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

【讨论】:

  • 道歉 - 浏览器刷新后不起作用,仅在表格中显示两个商店,底部没有下一个/上一个链接。
  • 我还需要一次显示 10 个商店,而不是 1 个
  • 如果您只有两个商店,并且将其设置为每页显示 10 个,您只会看到 2 个。也不会有任何上一个/下一个链接,因为没有可访问的页面。将 'posts_per_page' => 10 添加到参数数组中以显示每页 10 个,如果您的默认值还不是 10 个。
  • 我在 cpt 商店中有超过 20 个,我尝试将其添加到 posts_per_page 但每次单击 Next Set 时,它只会检索一个商店并将其添加到现有商店。网址也从 stores/page/2 更改
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-30
相关资源
最近更新 更多