Crie categoria somente para o tipo de postagem personalizado

4

Tudo, Estou criando meu próprio tipo de postagem usando o seguinte código:

add_action( 'init', 'create_team_post_type' );
function create_team_post_type() {
  register_post_type( 'team',
    array(
      'labels' => array(
        'name' => __( 'Teams' ),
        'singular_name' => __( 'Team' )
      ),
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'taxonomies' => array('category'),
        'supports' => array('title','editor','thumbnail')
    )
  );
}

Estou permitindo uma categoria. Quando clico na categoria para isso, vejo as categorias já listadas nas minhas categorias de postagem. Gostaria de mostrar apenas as categorias para esse tipo de postagem personalizado. Além disso, quando adiciono uma nova categoria ao tipo de postagem personalizada, só quero que ela se aplique a esse tipo de postagem personalizado. Como faço para fazer isso?

    
por user1048676 16.11.2014 / 20:51

1 resposta

5

Eu diria que você também precisa criar uma taxonomia personalizada se quiser que ela seja limitada ao tipo de uma postagem. "Categorias" já está conectado às postagens por padrão.

A partir do Código do WordPress

function people_init() {
    // create a new taxonomy
    register_taxonomy(
        'people',
        'post',
        array(
            'label' => __( 'People' ),
            'rewrite' => array( 'slug' => 'person' ),
            'capabilities' => array(
                'assign_terms' => 'edit_guides',
                'edit_terms' => 'publish_guides'
            )
        )
    );
}
add_action( 'init', 'people_init' );

Então, se você o chamar de "categoria de equipe", você o usará no array "taxonomias" em seu tipo de postagem.

Aqui está um exemplo mais específico:

function tr_create_my_taxonomy() {

    register_taxonomy(
        'team-category',
        'team',
        array(
            'label' => __( 'Category' ),
            'rewrite' => array( 'slug' => 'team-category' ),
            'hierarchical' => true,
        )
    );
}
add_action( 'init', 'tr_create_my_taxonomy' );
    
por SkyShab 16.11.2014 / 21:09