Changement de nom élément de menu de la section Menu Administrateur pour un type post personnalisé?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/1396

  •  16-10-2019
  •  | 
  •  

Question

Je sens c'est un bug.

Lorsque vous créez un nouveau type de message personnalisé, il ne semble pas possible de modifier le texte du premier élément de sous-menu. Je fais référence au lien qui vous permet de visualiser la liste de poste.

Pour ce que je peux dire, il semble juste être dupliquer le nom du nom du menu principal du type de poste qui a été créé.

Quelqu'un sait comment modifier ce texte afin que je puisse avoir l'élément de menu principal dit « articles » et le nom du sous-menu après la liste à dire « Gérer les articles »

J'avais l'impression que "edit_item" contrôlerait le texte à afficher dans le sous-menu te, mais pour une raison quelconque cela n'enregistrait.

Voici le code que je suis actuellement en utilisant:

//////////////////////////////////////////////////////////////////////////////
// CUSTOM POSTTYPE FOR -- ARTICLES  
//////////////////////////////////////////////////////////////////////////////

add_action('init', 'articles');
function articles() {
 register_post_type('articles', array(
  'labels' => array(
   'name'   => __('Articles'),
   'singular_label'  => __('Article'),
   'new_item'   => __('Add Article'),
   'add_new'   => __('Add Article'),
   'add_new_item'  => __('Add Article'),
   'edit'   => __('Edit Article'),
   'edit_item'   => __('Edit Article'),
   'view'   => __('View Article'),
   'view_item'   => __('View Article'),
   'search_items'  => __('Search Articles'),
   'not_found'   => __('No Articles Found'),
   'not_found_in_trash' => __('No Articles Found in Trash'),
   ),
  'supports' => array(
   'thumbnail',
   'title',
   'editor',
   'author',
   'revisions',
   ),
  'rewrite' => array( 
   'slug'   => 'articles', 
   'with_front'   => false,
   ),
  'rewrite'    => true,
  'can_export'    => true,
  'show_ui'    => true,
  'menu_position'   => 3,
  'public'    => true,
  'query_var'    => true,
  'publicly_queryable'  => true,
  'exclude_from_search'  => false,
  'capability_type'   => 'post',
  'hierarchical'   => false,
 ));
 }


add_filter('manage_edit-articles_columns', 'add_new_articles_columns');
function add_new_articles_columns($articles_columns) {
 $new_columns['cb']     = '<input type="checkbox" />';
 $new_columns['article_thumbnail']   = _x('Image', 'column name');
 $new_columns['title']    = _x('Article Title', 'column name');
 $new_columns['article_excerpt']   = _x('Article Excerpt', 'column name');
 $new_columns['article_source']   = _x('Article Source', 'column name');
 $new_columns['author']    = __('Created by');
 $new_columns['date']    = _x('Last Action', 'column name');
 return $new_columns;
 }
add_action('manage_posts_custom_column', 'manage_articles_columns', 10, 2);
function manage_articles_columns($column_name, $id) {
 global $wpdb;
 switch ($column_name) { 
  case 'article_thumbnail':  
   the_post_thumbnail( array(50,50) );
   break; 
  case 'article_excerpt': echo substr(get_the_excerpt(),0,500); 
   break;
  case 'article_source':
         echo get_the_term_list($post->ID, 'content_sources', '', ', ','');
   break;
  default: break;
  }
 }
Était-ce utile?

La solution

Salut @ NetConstructor.com :

Je pense que vous avez déjà demandé à ce sujet et je vous ai donné une réponse qui traiterait cette question aussi:

Dans cette réponse que je vous donne une bibliothèque vous pouvez utiliser pour faire interagir avec les menus admin super facile. Voici ce que vous devez faire pour atteindre votre objectif déclaré sur cette question:

<?php
require_once('wp-admin-menu-classes.php');
add_action('admin_menu','my_admin_menu');
function my_admin_menu() {
  rename_admin_menu_section('Articles','Manage Articles');`  
}

P.S. BTW, je remarqué qu'il y avait fournies sur cette question qui vous avez demandé il y a près d'une semaine, mais vous ne l'avez pas retourné un sélectionné des réponses que la bonne réponse. Je sais que depuis que vous avez ici poser beaucoup de questions, il est pas comme vous ne l'avez pas été autour; S'il vous plaît prendre le temps de choisir la meilleure réponse à vos questions dès que vous avez une réponse viable sinon les gens pourraient démotivés garder répondre. Quelque chose d'envisager ...

Autres conseils

Ceci est un problème sémantique.

'edit_item'   => __('Edit Article'),

Voici ce qui est affiché lorsque vous modifiez l'article, comme au singulier, comme le poste d'édition, dans le titre de haut. La raison pour laquelle les « postes » élément de menu liste est appelé « postes » et non « éditer les messages » est parce que serait trompeur.

Vous pouvez faire plus de messages seulement éditer, vous pouvez supprimer et de les déplacer, etc. en est de même des pages, ou tout autre type de poste que vous pourriez avoir. Voilà pourquoi le même champ qui est utilisé pour le menu de la section est utilisé pour l'élément de sous-menu initial aussi. Il est vrai logique. Cela dit qu'il n'y a rien qui vous empêche de mettre 'show_ui' => true, false et vous-même la mise en œuvre.

Cependant, si vous avez vraiment voulez modifier pour une raison quelconque, vous devez ajouter un crochet à functions.php pour traiter le menu après, en recherchant l'entrée du sous-menu nécessaire dans le tableau et changer son nom.

Quelque chose le long de ces lignes ferait, si elle peut nécessiter quelques modifications:

function edit_menus() {
    global $menu;
    end ($menu);
    while (prev($menu)){
        $value = explode(' ',$menu[key($menu)][0]);
        if(strpos($menu[key($menu)], "menu name" )){
            $menu[key($menu)] = str_replace("menu name", "newmenuname", $menu[key($menu)]);
            break;
        }
    }
}
add_action('admin_menu', 'edit_menus');
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top