W3cubDocs

/WordPress

get_post_types( array|string $args = array(), string $output = ‘names’, string $operator = ‘and’ ): string[]|WP_Post_Type[]

Gets a list of all registered post type objects.

Description

See also

Parameters

$argsarray|stringoptional
An array of key => value arguments to match against the post type objects.

Default:array()

$outputstringoptional
The type of output to return. Either 'names' or 'objects'. Default 'names'.

Default:'names'

$operatorstringoptional
The logical operation to perform. 'or' means only one element from the array needs to match; 'and' means all elements must match; 'not' means no elements may match. Default 'and'.

Default:'and'

Return

string[]|WP_Post_Type[] An array of post type names or objects.

Source

function get_post_types( $args = array(), $output = 'names', $operator = 'and' ) {
	global $wp_post_types;

	$field = ( 'names' === $output ) ? 'name' : false;

	return wp_filter_object_list( $wp_post_types, $args, $operator, $field );
}

Changelog

Version Description
2.9.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_post_types