这个效果很好。我在下拉列表中看到自定义帖子类型存档,但是当我选择任何月份时,我会在该存档页面上看到所有自定义帖子。虽然每个月只有一篇文章,例如我在 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;
}
您问题中的代码有效。我真的怀疑你的问题出在你的 archive.php 模板上。
这是我的想法
我的解决方案是,删除您的自定义查询,将其替换为默认循环,如果您需要更多自定义,请使用
pre_get_posts
添加它。
编辑
未来可能会有很多额外的阅读内容