【发布时间】:2012-03-13 11:39:11
【问题描述】:
我在尝试在他们的存档页面中对自定义帖子类型进行分页时遇到了一个非常奇怪的问题,我创建了一个名为 property 的自定义帖子类型并设置了一个名为 properties 的存档页面来显示它们。
所以在我的archive-property.php 文件中添加了一个带有下拉框的表单(GET 方法),这样用户就可以设置他们希望每页显示多少帖子,如下所示:
<select name="prop_number" id="prop_number">
<option value="12">12</option>
<option value="25">25</option>
<option value="50">50</option>
</select>
所以在我做任何事情之前:
if (isset($_GET)) {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query_args = array(
'post_type' => 'property',
'paged' => $paged,
'posts_per_page' => 12 // Default number of properties per page
);
// Custom number properties per page
if (isset($_GET['prop_number']) && !empty($_GET['prop_number'])) {
$query_args['posts_per_page'] = $_GET['prop_number'];
}
}
query_posts($query_args);
// Do loop and other stuff
它工作正常,但是当我使用 next_posts_link() 进入第二页时,我得到一个页面未找到 404 错误,但是如果我去我的 WP 管理区域并将“博客页面最多显示”选项设置为我希望在我的选择框中每页有相同的数字(例如,我在“博客页面最多显示”上手动设置 25,并在我的 prop_number 选择框中选择 25)它确实可以正常工作。
我什至尝试使用 WP-PageNavi 插件,它确实根据我要显示的属性数量呈现正确数量的数字,但是我尝试访问的任何页面上都有相同的问题 404 页面,除非我手动设置后台页面。
如果我不需要选择要显示多少属性的选项,我只需手动设置数字,但由于用户可以在 3 个选项之间进行选择,我无法在后端将其设置为固定数字。
谁能告诉我怎么了?提前致谢!
【问题讨论】:
标签: pagination http-status-code-404 archive custom-post-type