WordPress at a glance

add_post_type_support() WP 1.0

Register support of certain features for a post type.

All core features are directly associated with a functional area of the edit screen, such as the editor or a meta box. Features include: 'title', 'editor', 'comments', 'revisions', 'trackbacks', 'author', 'excerpt', 'page-attributes', 'thumbnail', 'custom-fields', and 'post-formats'.

Additionally, the 'revisions' feature dictates whether the post type will store revisions, and the 'comments' feature dictates whether the comments count will show on the edit screen.

A third, optional parameter can also be passed along with a feature to provide additional information about supporting that feature.

Example usage:

add_post_type_support( 'my_post_type', 'comments' );
add_post_type_support( 'my_post_type', array(
	'author', 'excerpt',
) );
add_post_type_support( 'my_post_type', 'my_feature', array(
	'field' => 'value',
) );
1 time = 0.000021s = very fast | 50000 times = 0.05s = speed of light

No Hooks.


Null. Nothing.


add_post_type_support( $post_type, $feature, ...$args );
$post_type(string) (required)
The post type for which to add the feature.
$feature(string/array) (required)
The feature being added, accepts an array of feature strings or a single string.
...$args(mixed) (required)
Optional extra arguments to pass along with certain features.


  • Global. Array. $_wp_post_type_features


Since 3.0.0 Introduced.
Since 5.3.0 Formalized the existing and already documented ...$args parameter by adding it to the function signature.

Code of add_post_type_support() WP 5.5.1

function add_post_type_support( $post_type, $feature, ...$args ) {
	global $_wp_post_type_features;

	$features = (array) $feature;
	foreach ( $features as $feature ) {
		if ( $args ) {
			$_wp_post_type_features[ $post_type ][ $feature ] = $args;
		} else {
			$_wp_post_type_features[ $post_type ][ $feature ] = true;

From tag: Custom post type (post_type)

More from category: Custom Types

No comments
    Log In . Register