1

I have the following code in functions.php to give me post format support and a custom post type 'photos'. But I would like the post formats to only apply to the 'photos' post type and not to the built-in 'posts' post type.

add_theme_support( 'post-formats', array( 'image', 'chat', 'video', 'gallery' ) );
//custom post type
add_action( 'init', 'create_post_type' );
function create_post_type() {
    register_post_type( 'photos',
        array(
            'labels' => array(
                'name' => __( 'Photos' ),
                'singular_name' => __( 'Photo' )
            ),
        'public' => true,
        'has_archive' => true,
        'rewrite' => array('slug' => 'photo'),
        'menu_position' => 5,
        'taxonomies' => array('genre'),
        'supports' => array('title', 'editor', 'thumbnail', 'post-formats'),
        )
    );
}

Many thanks for your time and help.

3

Try remove_post_type_support:

remove_post_type_support( 'post', 'post-formats' );
  • Doesn't seem to work... the format box is still there is the Posts' "Add New Post" window. – Gab Jan 22 '13 at 18:53
  • 1
    Did you hook into init? – diggy Jan 22 '13 at 18:57
  • Sorry I didn't know I had to put it inside the function create_post_type. Thanks a lot! – Gab Jan 23 '13 at 2:20
2

try this:

add_action('load-post.php','add_post_type_support_stuff');
add_action('load-post-new.php','add_post_type_support_stuff');
function add_post_type_support_stuff( $post ){

    $screen = get_current_screen();
    $post_type = $screen->post_type;

    if( $post_type == 'photos' ) {
        //add this if you did not add support for the post type when you called register_post_type()
        add_post_type_support( 'page', 'post-formats' );
        //add the post formats
        add_theme_support('post-formats',array( 'image', 'chat', 'video', 'gallery' ));
    }

}
  • +1 for $post_type = $screen->post_type; – mems Apr 30 '14 at 14:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.