La taxonomie par défaut des «étiquettes de post» peut-elle être renommée?

14

Je compte utiliser la taxonomie par défaut des "étiquettes de publication" pour fournir un ensemble commun d'étiquettes d'une publication à une autre et 2 types de publication personnalisés (pour permettre la collecte / l'agrégation par étiquette).

J'aimerais renommer la taxonomie "étiquettes de post" en quelque chose d'autre, comme les "étiquettes générales", pour la rendre un peu plus claire, en particulier lorsque cette taxonomie est associée à d'autres types de publication personnalisés.

Alors, y at-il un moyen de faire cela dans Wordpress, ou est-ce que je le fais via SQL. En outre, tout le monde sait s’il est prévu que cette taxonomie existe avec le nane "étiquettes de publication"

    
posée anu 17.11.2010 - 11:48

4 réponses

21

Les informations sur les taxonomies sont stockées dans le tableau global $wp_taxonomies . Si vous enregistrez une nouvelle taxonomie, elle est ajoutée en tant qu'objet avec différentes propriétés, y compris les étiquettes à utiliser dans l'interface utilisateur. Les balises et catégories standard y sont également enregistrées à chaque chargement de page, avec la create_initial_taxonomies() fonction qui se déclenche le init .

Puisqu'il s'agit d'un simple tableau d'objets, nous pouvons le modifier et voir ce qu'il se passe. Les propriétés qui nous intéressent sont labels et 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';
}

Je n'ai pas vérifié partout, et vous devrez probablement le changer vous-même dans votre thème, mais cela semble faire ce que vous voulez:

    
réponse donnée Jan Fabry 17.11.2010 - 12:33
1

Renommez les étiquettes de catégorie spécifiques:

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;
    //…
}

Étiquettes: enlace

    
réponse donnée lemats 15.03.2012 - 14:29
1

Vous pouvez supprimer la taxonomie des catégories et créer simplement la vôtre.

Dans mon exemple, j'ai supprimé la taxonomie des catégories de messages et je l'ai remplacée par une taxonomie des sujets

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 );
    
réponse donnée davidcondrey 19.06.2014 - 06:49
0

De ici

// 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;
}
    
réponse donnée kaiser 12.05.2011 - 00:28

Lire d'autres questions sur les étiquettes