it-swarm-id.com

Mengganti Nama Item Menu dalam Bagian Menu Admin untuk Tipe Posting Kustom?

Saya merasa ini adalah bug.

Saat Anda membuat jenis posting khusus baru, tampaknya tidak mungkin untuk mengubah teks item submenu pertama. Saya merujuk pada tautan yang memungkinkan Anda melihat daftar posting.

Untuk apa yang bisa saya katakan sepertinya akan menduplikasi nama nama menu jenis posting utama yang telah dibuat.

Adakah yang tahu cara memodifikasi teks ini sehingga saya dapat memiliki elemen menu utama bertuliskan "Artikel" dan nama posting submenu untuk mengatakan "Kelola Artikel" ?

Saya mendapat kesan bahwa "edit_item" akan mengontrol teks yang akan ditampilkan dalam submenu te tetapi untuk beberapa alasan ini tidak mendaftar.

Berikut adalah kode yang saya gunakan saat ini:

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

Hai @ NetConstructor.com :

Saya pikir Anda sudah bertanya tentang ini dan saya memberi Anda jawaban yang akan menjawab pertanyaan ini juga:

Dalam jawaban itu saya memberi Anda perpustakaan yang dapat Anda gunakan untuk membuat berinteraksi dengan menu admin super mudah . Inilah yang harus Anda lakukan untuk mencapai tujuan yang dinyatakan pada pertanyaan ini:

<?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, saya perhatikan ada 4 jawaban yang diberikan pada pertanyaan itu yang Anda tanyakan hampir seminggu yang lalu, tetapi Anda belum kembali ke salah satu pilihan jawaban sebagai jawaban yang benar. Karena Anda telah di sini mengajukan banyak pertanyaan, saya tahu itu tidak seperti Anda belum ada; mohon luangkan waktu untuk memilih jawaban terbaik untuk pertanyaan Anda segera setelah Anda memiliki jawaban yang layak, jika tidak, orang akan kehilangan motivasi untuk terus menjawab. Sesuatu yang dipertimbangkan ...

1
MikeSchinkel

Ini adalah masalah semantik.

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

Inilah yang ditampilkan ketika Anda mengedit artikel, seperti dalam singular, sama seperti posting edit, di judul teratas. Alasan bahwa item menu daftar 'posting' disebut 'posting' dan bukan 'edit posting' adalah karena itu akan menyesatkan.

Anda dapat melakukan lebih dari sekedar mengedit posting, Anda dapat menghapus dan memindahkannya dll. Hal yang sama berlaku untuk halaman, atau jenis posting lain yang mungkin Anda miliki. Inilah sebabnya mengapa bidang yang sama yang digunakan untuk menu bagian juga digunakan untuk item submenu awal. Ada logika nyata untuk itu. Setelah mengatakan bahwa tidak ada yang menghentikan Anda dari pengaturan 'show_ui' => true, menjadi false dan mengimplementasikannya sendiri.

Namun, jika Anda benar-benar ingin mengeditnya untuk alasan apa pun, Anda perlu menambahkan hook ke functions.php untuk memproses menu setelahnya, dengan mencari entri submenu yang diperlukan dalam array dan mengubah namanya.

Sesuatu di sepanjang garis ini akan dilakukan, meskipun mungkin perlu beberapa modifikasi:

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');
2
Tom J Nowell