get_post_types()
接受参数数组以匹配post type object. 因此,您可以这样做(未经测试):
$post_types = get_post_types(array(
\'public\' => true,
\'supports\' => array( \'editor\', \'title\', \'thumbnail\' )
), \'objects\');
不幸的是,您不能在此函数中设置“exclude”之类的内容,而且您只能获得支持
exactly \'editor\', \'title\', \'thumbnail\'
, 不多也不少。
或者你可以使用get_post_types_by_support()
(仅适用于WP 4.5及更高版本。此外,请注意,您也不能使用此功能排除特定的帖子类型,但对于支持editor, title, thumbnail
, 在大多数情况下,附件桩类型将被排除在外)。
$post_types = get_post_types_by_support( array( \'editor\', \'title\', \'thumbnail\' ) );
如果您希望在任何情况下都能工作,我会尝试以更广泛的标准来获取帖子类型,然后构建您自己的数组,如下所示:
$_post_types = get_post_types_by_support( array( \'editor\', \'title\', \'thumbnail\' ) );
$post_types = [];
foreach($_post_types as $post_type) {
// In most cases, attachment post type won\'t be here, but it can be
if( $post_type->name !== \'attachment\' ) {
$post_types[] = $post_type;
}
}