当一个post(ony类型)是子级时,它的属性post_parent
是一个带有父级帖子ID的数字。没有父级的帖子有一个值0
相反因此,您可以测试此值:
if ( 0 === (int) $post->post_parent )
{
// show the post
}
另一个选项是启用过滤器
pre_get_posts
(未经测试,只是一个想法):
add_action( \'pre_get_posts\',\'hide_children\' );
function hide_children( $query )
{
remove_action( \'pre_get_posts\', current_filter() );
if ( is_admin() or ! $query->is_main_query() )
return;
if ( ! $query->is_post_type_archive( \'your_post_type_name\' ) )
return;
// only top level posts
$query->set( \'post_parent\', 0 );
}