it-swarm-ko.tech

사용자 정의 게시 유형의 관리자 메뉴 섹션에서 메뉴 항목의 이름 바꾸기?

나는 이것이 버그라고 느낀다.

새 사용자 정의 게시 유형을 작성할 때 첫 번째 하위 메뉴 항목 텍스트를 수정할 수없는 것으로 보입니다. 내가 당신이 게시물 목록을 볼 수있는 링크를 말하는 것입니다.

내가 말할 수있는 것은 작성된 메인 포스트 유형 메뉴의 이름 이름을 복제하는 것처럼 보입니다.

누구든지이 텍스트를 수정하여 기본 메뉴 요소에 "기사"와 게시물 목록 하위 메뉴 이름 "기사 관리"?

나는 "edit_item"가 텍스트를 하위 메뉴에 표시되도록 제어한다는 인상 아래에 있었지만 어떤 이유인지 그것이 등록되지 않았습니다.

현재 사용중인 코드는 다음과 같습니다.

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

안녕하세요 @ NetConstructor.com :

나는 당신이 이미 이것에 대해 물어봤을 때 나는이 질문에도 답을 줄 수있는 답을 주었다.

그 대답에서 나는 당신에게 관리자 메뉴와의 상호 작용을 매우 쉽게하기 위해 사용할 수있는 도서관 을주었습니다. 이 질문에 대한 명시된 목표를 달성하기 위해해야 ​​할 일은 다음과 같습니다.

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

추신 BTW, 거의 1 주일 전에 물어 본 그 질문에 4 가지 답변 이 있음을 알았지 만 선택한 대답 중 정답으로 돌아 가지 않았습니다. 당신이 여기서 많은 질문을 던지기 때문에 나는 주변에 있지 않았던 것과 다르지 않다는 것을 알고 있습니다. 가능한 답을 얻 자마자 귀하의 질문에 대한 최선의 대답을 선택하는 시간이 필요합니다. 그렇지 않으면 사람들이 응답을 계속하기 위해 정신을 잃을 수도 있습니다. 이게 뭔가 생각해.

1
MikeSchinkel

이것은 의미 문제입니다.

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

이것은 편집 제목과 마찬가지로 단편처럼 기사를 편집 할 때 표시되는 제목입니다. 'posts'목록 메뉴 항목이 'posts'가 아닌 'edit posts'가 아닌 이유는 오도 된 것입니다.

게시물을 편집하는 것 이상을 할 수 있으며, 삭제하거나 이동할 수 있습니다. 페이지 또는 다른 유형의 게시물에 대해서도 마찬가지입니다. 이 때문에 섹션 메뉴에 사용 된 동일한 필드가 초기 하위 메뉴 항목에도 사용됩니다. 그것에 대한 진정한 논리가 있습니다. 'show_ui' => true,를 false로 설정하고 직접 구현하는 것을 막을 수있는 방법은 없습니다.

그러나 어떤 이유에서든 실제로 편집하고 싶다면 functions.php에 후크를 추가하여 배열에서 필요한 하위 메뉴 항목을 검색하고 이름을 변경하여 메뉴를 처리해야합니다.

이 라인을 따라 뭔가 할 것이지만 약간의 수정이 필요할 수 있습니다.

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