自定义帖子类型的管理菜单部分中的重命名菜单项?
-
16-10-2019 - |
题
我觉得这是一个错误。
当您创建新的自定义帖子类型时,似乎无法修改第一个子菜单项目文本。我指的是该链接,该链接使您可以查看帖子列表。
为了我所能说的,似乎只是在复制创建的主帖子类型菜单的名称。
有人知道如何修改此文本,以便我可以让主菜单元素说“文章”和帖子列表子词名称 “管理文章”?
我的印象是 "edit_item"
将控制要在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;
}
}
解决方案
你好 @NetConstructor.com:
我认为您已经问过这个问题,我给了您一个答案,也可以解决这个问题:
在那个答案中,我给了你 图书馆 您可以用来与Admin Menus Super Super互动。这是您在这个问题上实现既定目标必须做的:
<?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');`
}
PS BTW,我注意到有 该问题提供了4个答案 您大约一周前问的,但是您还没有回到选择的任何答案作为正确的答案。由于您在这里问了很多问题,所以我知道这并不是您不在身边。一旦您有一个可行的答案,请花点时间为您的问题选择最佳答案,否则人们可能会竭尽全力继续回答。考虑的东西...
其他提示
这是语义问题。
'edit_item' => __('Edit Article'),
这就是当您编辑文章时所显示的内容,例如单数,就像“编辑”帖子中的顶部标题一样。 “帖子”列表菜单项被称为“帖子”而不是“编辑帖子”的原因是因为这会产生误导。
您不仅可以编辑帖子,还可以删除和移动它们。页面或您可能拥有的任何其他类型的帖子都是如此。这就是为什么用于初始子菜单项目的部分菜单使用的相同字段的原因。它有真正的逻辑。说没有什么可以阻止您设置 'show_ui' => true,
虚假并自己实施。
但是,如果您确实出于任何原因确实想编辑它,则需要通过在数组中搜索必要的子菜单条目并更改其名称来添加hook.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');