WP_query issue with no posts

时间:2015-08-20 作者:CoderJ

我正在将表单用于存档页面,以便用户可以指定他们想要查看的帖子以及查看方式。我有它的设置,所以他们可以选择升序或降序,每页帖子等,使用$\\u GET在我的表单中。但是,我还设置了表格,以按年/月设置显示帖子:

<select name="monthnum">

          <option value="null">Month</option>

          <option value="1">January</option>

          <option value="2">February</option>

          <option value="3">March</option>
等所有月份和相同年份

然后,我的查询参数如下所示:

$paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1;

    $custom_args = array(

        \'post_type\' => \'post\',
        \'posts_per_page\' => $_GET["posts-per-page"],
        \'paged\' => $paged,
        \'order\' => $_GET["order"],
        "orderby" => "date",
        "year" => $_GET["year"],
        "monthnum" => $_GET["monthnum"]

      );

    $custom_query = new WP_Query( $custom_args );
到目前为止,我添加了几个帖子来测试这些内容,所以它们都是2015年8月发布的,如果我通过$\\u GET设置这些内容,它会显示得很好。但是,如果我尝试在1月或8月以外的任何其他月份发布,我的归档页面会被重定向到带有循环(即索引)的页面。在我的例子中是php,它显示“没有帖子…”而它应该保持在同一页上,并显示“无帖子…”在上面。我已经安排好了。无需发布其余代码,因为我已经知道重定向会在创建新的WP\\U查询后立即发生。什么可能导致此问题?同样,$\\u GET[“每页帖子”]和$\\u GET[“订单”]都能按预期工作。

1 个回复
最合适的回答,由SO网友:webtoure 整理而成

通过使用GET 变量,例如yearmonthnum 您有效地缩短了URL重写的时间(如果您使用的是相当长的永久链接)。这样,您就可以查询WP_Query 例子first 并有效地使你的完全无用(好吧,你确实改变了posts_per_page 属性,就是这样)。无论如何,关键是有一个基类WP 当主WP_Query 实例不返回post(实际情况就是这样),并且404 模板被调用(如果您的主题有)或者如果它缺少index 使用了模板(您的问题似乎证实了这一点)。

现在,最快的修复方法是基本上重命名GET 变量到q_yearq_monthnum 例如

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post