add_post_type_support( string $post_type, string|array $feature, mixed $args )
Registers support of certain features for a post type.
Contents
Description
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',
) );
Parameters
-
$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 Optional -
Optional extra arguments to pass along with certain features.
More Information
Multisite
Source
File: wp-includes/post.php
.
View all references
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;
}
}
}
Changelog
Version | Description |
---|---|
5.3.0 | Formalized the existing and already documented ...$args parameter by adding it to the function signature. |
3.0.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
For an overview of all possible features (e.g. ‘title’, ‘editor’, etc.), see the documentation for
post_type_supports
.Unfortunately,
add_post_type_support('page', 'thumbnail');
won’t add featured images to pages. For that you need to [add theme support for post-thumbnails
add_theme_support( 'post-thumbnails', array( 'post', 'page' ) );
https://developer.wordpress.org/reference/functions/add_theme_support/#post-thumbnails
This example adds support for excerpts in pages (assuming it is *not* showing under “Screen Options”):
The example that allows you to add support for specific feature to a custom post type. It’s used to enable or disable certain features, Such as custom fields, excerpts, comments, thumbnails, revisions and more for particular post type.
To enable `add_post_type_support` for a specific page or post, we can narrow down with condition.
Example: To add support for excerpt in page (id : 123), use this:
Note: `$_GET[‘post’]` gives the current page id when we open page edit screen.