后栏侧边插件中的自定义文章类型存档

问题描述:

这工作正常。我在下拉列表中看到了自定义帖子类型存档,但是当我选择任何月份时,我会在该存档页面上看到所有自定义帖子。虽然每个月只有一个职位,例如我在7月份有1个帖子,8月份有1个帖子,下拉列表显示正确,但是当我选择他们时,我看到所有的自定义帖子而不是一个。有没有解决方案?后栏侧边插件中的自定义文章类型存档

add_filter('getarchives_where', 'custom_getarchives_where'); 
    function custom_getarchives_where($where){ 
     $where = str_replace("post_type = 'post'", "post_type IN ('post', 'fruits')", $where); 
     return $where; 
    } 

    add_action('pre_get_posts', 'add_podcasts_to_archive'); 
    function add_podcasts_to_archive($query) { 
     if ($query->is_main_query() && $query->is_archive() && !is_admin()) 
      $query->set('post_type', array('post', 'fruits')); 
     return $query; 
    } 
+0

我怀疑你的问题是在你的档案页面本身的代码,你运行自定义查询您的存档页面 – 2014-09-05 17:53:56

您问题中的代码有效。我真的怀疑你的问题在于你的archive.php模板。

这里是我的想法

  • 您更换自定义查询主查询。任何存档页面上不正确的自定义查询都是灾难性的。这是因为您从您的自定义后tytpe得到所有职位的原因,我能想到的唯一原因

我的解决办法是,删除自定义查询,默认循环替换它,如果你需要更多定制,请使用pre_get_posts添加。

编辑

对于额外的阅读,可能你很多在未来