The following Post Formats are available for users to choose from, if the theme enables support for them.
Note that while the actual post content entry won't change, the theme can use this user choice to display the post differently based on the format chosen. For example, a theme could leave off the display of the title for a "Status" post. How things are displayed is entirely up to the theme, but here are some general guidelines.
add_post_type_support( 'page', 'post-formats' );
Next example registers custom post type 'my_custom_post_type', and add Post Formats.
add_action( 'init', 'create_my_post_type' );
function create_my_post_type() {
register_post_type( 'my_custom_post_type',
array(
'labels' => array( 'name' => __( 'Products' ) ),
'public' => true
)
);
}
add_post_type_support( 'my_custom_post_type', 'post-formats' );
Or in the function register_post_type(), add 'post-formats', in 'supports' parameter array. Next example is equivalent to above one.
add_action( 'init', 'create_my_post_type' );
function create_my_post_type() {
register_post_type( 'my_custom_post_type',
array(
'labels' => array( 'name' => __( 'Products' ) ),
'public' => true,
'supports' => array('title', 'editor', 'post-formats')
)
);
}
add_theme_support( 'post-formats' )