设置附件的默认类别

时间:2014-02-22 作者:Enrique Moreno Tent

我想将现有的帖子类别应用于附件,因此我编写了以下代码:

function wpmediacategory_init() {
    register_taxonomy_for_object_type( \'category\', \'attachment\' );
}
add_action( \'init\', \'wpmediacategory_init\' );
我现在面临的问题是,行为与帖子不太一样。我想实现以下两个功能:

添加新附件时,将其设置为“未分类”更新附件时,如果未选择类别,则将其设置为“未分类”类别

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

要解决问题1,可以挂接以添加\\u附件并编辑\\u附件挂接。

add_action(\'add_attachment\', \'wpse_set_attachment_category\');
add_action(\'edit_attachment\', \'wpse_set_attachment_category\');
function wpse_set_attachment_category( $post_ID )
{
    // if attachment already have categories, stop here
    if( wp_get_object_terms( $post_ID, \'category\' ) )
        return;

    // no, then get the default one
    $post_category = array( get_option(\'default_category\') );

    // then set category if default category is set on writting page
    if( $post_category )
        wp_set_post_categories( $post_ID, $post_category );
}

结束