it-swarm.asia

Özel Gönderi Türü için Yönetici Menüsü Bölümündeki Menü Öğesini Yeniden Adlandırma?

Bunun bir böcek olduğunu hissediyorum.

Yeni bir özel gönderi türü oluşturduğunuzda, ilk alt menü öğesi metnini değiştirmek mümkün görünmüyor. Gönderi listesini görüntülemenizi sağlayan bağlantıya atıfta bulunuyorum.

Söyleyebileceğim şey için, oluşturulan ana yazı tipi menüsünün adını kopyalıyor gibi görünüyor.

Bu metnin nasıl değiştirileceğini bilen var mı, böylece ana menü öğesinin "Makaleler" ve gönderi listesi alt menü adının "Makaleleri Yönet" yazmasını sağlayabiliyor muyum (== --- ==) "Makaleleri Yönet" ?

"edit_item"'un alt menüde gösterilecek metni kontrol edeceği izlenimi altındaydım ancak bir nedenden dolayı kayıt olmuyor.

Şu anda kullanıyorum kod İşte:

//////////////////////////////////////////////////////////////////////////////
// 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

Merhaba @ NetConstructor.com :

Sanırım bunu zaten sormuştunuz ve ben de bu soruyu ele alacak bir cevap verdim:

Bu cevapta size bir kütüphane verdim ve yönetici menüleriyle etkileşimi kolaylaştırmak için kullanabilirsiniz. Bu soruda belirtilen amacınıza ulaşmak için yapmanız gerekenler:

<?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');`  
}

Not; BTW, bu soruya verilen cevapların 4 yanıtının olduğunu neredeyse bir hafta önce sorduğunuzu, ancak cevapların hiçbirini doğru cevap olarak geri dönmediğinizi fark ettim. Burada bir sürü soru sormaya başladığınızdan beri, etrafta bulunmadığınız gibi olmadığını biliyorum; lütfen sorularınızı cevaplamak için en uygun cevabı seçmek için zaman ayırın, aksi takdirde uygun bir cevabınız olur, aksi takdirde insanlar cevap vermeye devam edebilir. Bu düşünün bir şey ...

1
MikeSchinkel

Bu bir anlambilim sorunudur.

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

Bu, makaleyi düzenlediğinizde, tekilde olduğu gibi, düzenleme yazısında olduğu gibi, üst başlıkta da görüntülenir. 'Mesajlar' listeleme menüsü maddesinin 'mesajlar' olarak adlandırılmasının ve 'mesajların düzeltilmesinin' nedeni bunun yanıltıcı olacağıdır.

Yazıları düzenlemek yerine daha fazlasını yapabilirsiniz, onları silebilir ve etrafa taşıyabilirsiniz. Aynı şey sayfalar veya sahip olabileceğiniz diğer türde yazılar için de geçerlidir. Bu nedenle, bölüm menüsü için kullanılan alanın, ilk alt menü maddesi için de kullanılmasının nedeni budur. Gerçek bir mantık var. Sizi 'show_ui' => true, ayarını yanlış yapmak ve kendiniz uygulamaktan alıkoyacak bir şey olmadığını söylemiştim.

Bununla birlikte, herhangi bir nedenden dolayı gerçekten düzenlemek isteseydiniz, daha sonra menüyü işlemek için, dizideki gerekli alt menü girişini arayarak ve adını değiştirerek, bir fonksiyon kancası eklemeniz gerekir.

Bu satırlar boyunca bir şeyler yapacaktır, ancak bazı değişikliklere ihtiyacı olabilir:

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