因此,我的自定义wordpress主题/站点有许多场所,例如“foo”,它有许多活动和评论。
所以一个场地最终会有一个URL,如,
http://www.example.local/places/my-place-name/
但除了呈现场馆的内容(the\\u content())。。。等)我在该地点呈现活动和评论(该地点是“家长”,因为活动和评论帖子类型的地点是“家长”)
因此,我正在为这两种帖子类型运行一个自定义的wp\\u查询。我遇到了麻烦,因为我无法对自定义wp\\U查询的结果分页。即使我想通过从URL中获取页码,然后在wp\\U查询中设置“偏移量”来运行自己的分页例程,wordpress也不喜欢URL末尾的其他参数。例如,如果我转到:
http://www.example.local/places/my-place-name/mypage/2/
简单地呈现404 not found。我希望避免使用查询字符串样式的URL,例如
http://www.example.local/places/my-place-name/?mypage=2
因为这看起来有点乱。
任何关于如何在帖子页面中为自定义wp\\u查询进行分页的指导(甚至如何让wordpress允许我在URL中添加其他分页参数)都会很好。
最合适的回答,由SO网友:Milo 整理而成
您需要添加一个查询变量并重写规则以使其正常工作。
首先,将查询变量添加到主题的functions.php
:
add_filter( \'query_vars\', \'wpa58904_query_vars\' );
function wpa58904_query_vars( $query_vars ){
$query_vars[] = \'my_page\';
return $query_vars;
}
然后使用所需的模式添加重写规则,以设置自定义页面查询变量:
add_action( \'init\', \'wpa58904_rewrites\' );
function wpa58904_rewrites(){
add_rewrite_rule(
\'places/([^/]+)/mypage/([0-9]+)/?$\',
\'index.php?venue=$matches[1]&my_page=$matches[2]\',
\'top\'
);
}
然后,您可以在模板中访问
my_page
具有
get_query_var( \'my_page\' );
在添加重写规则以刷新重写缓存后,请确保访问永久链接设置页面。