是否仅将发布格式应用于特定发布类型?

时间:2013-01-22 作者:Gab

我在函数中有以下代码。php为我提供贴子格式支持和自定义贴子类型“照片”。但我希望帖子格式只适用于“照片”帖子类型,而不适用于内置的“帖子”帖子类型。

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\'),
        )
    );
}
非常感谢您的时间和帮助。

2 个回复
最合适的回答,由SO网友:diggy 整理而成

Try remove_post_type_support:

remove_post_type_support( \'post\', \'post-formats\' );
SO网友:WP Themes

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\' ));
    }

}
结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php