帖子侧边栏小部件中的自定义帖子类型存档

问题描述 投票:0回答:1

这个效果很好。我在下拉列表中看到自定义帖子类型存档,但是当我选择任何月份时,我会在该存档页面上看到所有自定义帖子。虽然每个月只有一篇文章,例如我在 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;
    }
php wordpress custom-post-type archive
1个回答
0
投票

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

这是我的想法

  • 您已将主查询替换为自定义查询。任何存档页面上不正确的自定义查询都是灾难性的。这是我能想到的唯一原因,因为您从自定义帖子类型中获得了all帖子

我的解决方案是,删除您的自定义查询,将其替换为默认循环,如果您需要更多自定义,请使用

pre_get_posts
添加它。

编辑

未来可能会有很多额外的阅读内容

© www.soinside.com 2019 - 2024. All rights reserved.