短代码中的Wordpress分页

短代码中的Wordpress分页,wordpress,custom-post-type,Wordpress,Custom Post Type,一个针对Wordpress大脑的快速问题 我有一个快捷码,目前从某个帖子类型导入所有帖子。但是,我在为wp_查询添加分页时遇到了问题 为了解释这段代码的功能,我将[feed type=“attractions”limit=“2”]放在页面上,它会根据景点显示2篇文章,但不会分页。只是想知道我到底做错了什么 这是密码!--> 功能部分\u提要\u短码($atts){ 提取(短码_atts(数组('limit'=>-1,'type'=>'post'),$atts)); $q=新的WP\U查询(数组(

一个针对Wordpress大脑的快速问题

我有一个快捷码,目前从某个帖子类型导入所有帖子。但是,我在为wp_查询添加分页时遇到了问题

为了解释这段代码的功能,我将[feed type=“attractions”limit=“2”]放在页面上,它会根据景点显示2篇文章,但不会分页。只是想知道我到底做错了什么

这是密码!-->

功能部分\u提要\u短码($atts){
提取(短码_atts(数组('limit'=>-1,'type'=>'post'),$atts));
$q=新的WP\U查询(数组('posts\u per\u page'=>$limit,'post\u type'=>$type,order=>ASC',orderby=>menu\u order','paged'=>get\u Query\u var('page'));
$list='';
而($q->have_posts()){$q->the_post();
$list.=''
. ''
. ''
. '';
}
wp_reset_query();
返回
'' 
美元清单
“.”下一篇文章链接('larr;'Older posts','stratford'wp')。'
“以前的帖子链接('Newer posts→','stratford'wp')”
. '';
}
添加_短代码('feed','section_feed_短代码');

感谢您的高级回答

您需要添加全局$paged,然后在传递给WP_Query的数组中,您需要添加'paged'=>$paged

您的查询应该是这样的

global $paged
$q = new WP_Query(  array ( 'posts_per_page' => $limit, 'post_type' => $type, order => 'ASC', orderby =>'menu_order', 'paged' => $paged  ) );

在转到下一个/上一个链接之前,您正在重置查询。如果将wp_reset_query()函数进一步下移,会发生什么情况


另外,你今天面对这个问题并找到了一个解决方案时,可能会有更多的运气:

global $paged
$q = new WP_Query(  array ( 'posts_per_page' => $limit, 'post_type' => $type, order => 'ASC', orderby =>'menu_order', 'paged' => $paged  ) );
然后,您必须更改自定义帖子的
paginate\u链接
查询。参见示例。最好在函数使用之前添加一个函数并调用它

$big = 999999999; // need an unlikely integer
echo paginate_links( array(
   'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
   'format' => '?paged=%#%',
   'current' => max( 1, get_query_var('paged') ),
   'total' => $q->max_num_pages //$q is your custom query
 ) );

不幸的是,这似乎没有改变任何事情。并不是分页不起作用。。。当我输入url和“/page/2”时,它确实会显示下一组帖子,但是get_next_posts_链接和previous链接似乎没有任何作用。多亏了道尔顿,我尝试了向下移动重置功能,但没有任何效果。我已经转载了这个,谢谢你的帮助。
$big = 999999999; // need an unlikely integer
echo paginate_links( array(
   'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
   'format' => '?paged=%#%',
   'current' => max( 1, get_query_var('paged') ),
   'total' => $q->max_num_pages //$q is your custom query
 ) );