A taxonomia padrão de “post tags” pode ser renomeada?

14

Estou pretendendo usar a taxonomia "tags de postagem" padrão para fornecer um conjunto comum de tags em postagens e dois tipos de post personalizado (para permitir a coleta / agregação por tag).

Eu gostaria de renomear a taxonomia de "post tags" para outra coisa, como "tags gerais", para torná-la um pouco mais clara, especialmente quando essa taxonomia é anexada a outros tipos de postagens personalizadas.

Então, existe alguma maneira de fazer isso dentro do Wordpress, ou eu faço isso via SQL. Além disso, alguém sabe se existe uma expectativa de que essa taxonomia existe com as "tags post" nane

    
por anu 17.11.2010 / 11:48

4 respostas

21

As informações sobre taxonomias são armazenadas no array $wp_taxonomies global. Se você registrar uma nova taxonomia, ela será adicionada como um objeto com propriedades diferentes, incluindo os rótulos a serem usados na interface do usuário. As tags e categorias padrão também são registradas em cada carregamento de página, com create_initial_taxonomies() function que é acionada em init .

Como é um array simples de objetos, podemos modificá-lo e ver o que acontece. As propriedades que nos interessam são labels e label .

add_action( 'init', 'wpa4182_init');
function wpa4182_init()
{
    global $wp_taxonomies;

    // The list of labels we can modify comes from
    //  http://codex.wordpress.org/Function_Reference/register_taxonomy
    //  http://core.trac.wordpress.org/browser/branches/3.0/wp-includes/taxonomy.php#L350
    $wp_taxonomies['post_tag']->labels = (object)array(
        'name' => 'WPA 4182 Tags',
        'menu_name' => 'WPA 4182 Tags',
        'singular_name' => 'WPA 4182 Tag',
        'search_items' => 'Search WPA 4182 Tags',
        'popular_items' => 'Popular WPA 4182 Tags',
        'all_items' => 'All WPA 4182 Tags',
        'parent_item' => null, // Tags aren't hierarchical
        'parent_item_colon' => null,
        'edit_item' => 'Edit WPA 4182 Tag',
        'update_item' => 'Update WPA 4182 Tag',
        'add_new_item' => 'Add new WPA 4182 Tag',
        'new_item_name' => 'New WPA 4182 Tag Name',
        'separate_items_with_commas' => 'Separata WPA 4182 tags with commas',
        'add_or_remove_items' => 'Add or remove WPA 4182 tags',
        'choose_from_most_used' => 'Choose from the most used WPA 4182 tags',
    );

    $wp_taxonomies['post_tag']->label = 'WPA 4182 Tags';
}

Eu não o verifiquei em todos os lugares e você provavelmente terá que alterá-lo em seu tema, mas isso parece fazer o que você quer:

    
por Jan Fabry 17.11.2010 / 12:33
1

Renomear rótulos de categorias específicas:

add_action('init', 'renameCategory');
function renameCategory() {
    global $wp_taxonomies;

    $cat = $wp_taxonomies['category'];
    $cat->label = 'My Categories';
    $cat->labels->singular_name = 'My Categorie';
    $cat->labels->name = $cat->label;
    $cat->labels->menu_name = $cat->label;
    //…
}

Etiquetas: enlace

    
por lemats 15.03.2012 / 14:29
1

Você pode remover a taxonomia de categorias e depois criar a sua própria.

No meu exemplo, removi a taxonomia Categorias de postagens e a substitui por uma taxonomia de Assuntos

add_action( 'init', 'unregister_taxonomy' );
function unregister_taxonomy() {
    global $wp_taxonomies;
    $taxonomy = 'category';
    if ( taxonomy_exists($taxonomy) ){
        unset( $wp_taxonomies[$taxonomy] );
    }
}

function article_subjects() {
    $labels = array(
        'name'                       => _x( 'Subjects', 'Taxonomy General Name', 'dc' ),
        'singular_name'              => _x( 'Subject', 'Taxonomy Singular Name', 'dc' ),
        'menu_name'                  => __( 'Subjects', 'dc' ),
        'all_items'                  => __( 'All Items', 'dc' ),
        'parent_item'                => __( 'Parent Item', 'dc' ),
        'parent_item_colon'          => __( 'Parent Item:', 'dc' ),
        'new_item_name'              => __( 'New Subject', 'dc' ),
        'add_new_item'               => __( 'Add New Item', 'dc' ),
        'edit_item'                  => __( 'Edit Item', 'dc' ),
        'update_item'                => __( 'Update Item', 'dc' ),
        'separate_items_with_commas' => __( 'Separate items with commas', 'dc' ),
        'search_items'               => __( 'Search Items', 'dc' ),
        'add_or_remove_items'        => __( 'Add or remove items', 'dc' ),
        'choose_from_most_used'      => __( 'Choose from the most used items', 'dc' ),
        'not_found'                  => __( 'Not Found', 'dc' ),
    );
    $args = array(
        'labels'                     => $labels,
        'hierarchical'               => false,
        'public'                     => true,
        'show_ui'                    => true,
        'show_admin_column'          => true,
        'show_in_nav_menus'          => true,
        'show_tagcloud'              => true,
    );
    register_taxonomy( 'article_subjects', array( 'post' ), $args );
}
add_action( 'init', 'article_subjects', 0 );
    
por davidcondrey 19.06.2014 / 06:49
0

De aqui

// hook the translation filters
add_filter(  'gettext',  'change_post_to_article'  );
add_filter(  'ngettext',  'change_post_to_article'  );

function change_post_to_article( $translated ) {
     $translated = str_ireplace(  'Post',  'Article',  $translated );  // ireplace is PHP5 only
     return $translated;
}
    
por kaiser 12.05.2011 / 00:28

Tags