8

我正在研究wordpress。任何人都可以帮助我如何更改 wordpress 中的管理面板菜单标签。

具体来说,我想将帖子的标签更改为文章。以及文章帖子管理面板中的所有实例。

好心提醒。

4

3 回答 3

17

这是您需要添加到主题函数文件中的代码。

// Replace Posts label as Articles in Admin Panel 

function change_post_menu_label() {
    global $menu;
    global $submenu;
    $menu[5][0] = 'Articles';
    $submenu['edit.php'][5][0] = 'Articles';
    $submenu['edit.php'][10][0] = 'Add Articles';
    echo '';
}
function change_post_object_label() {
        global $wp_post_types;
        $labels = &$wp_post_types['post']->labels;
        $labels->name = 'Articles';
        $labels->singular_name = 'Article';
        $labels->add_new = 'Add Article';
        $labels->add_new_item = 'Add Article';
        $labels->edit_item = 'Edit Article';
        $labels->new_item = 'Article';
        $labels->view_item = 'View Article';
        $labels->search_items = 'Search Articles';
        $labels->not_found = 'No Articles found';
        $labels->not_found_in_trash = 'No Articles found in Trash';
}
add_action( 'init', 'change_post_object_label' );
add_action( 'admin_menu', 'change_post_menu_label' );

改编自:https ://wordpress.stackexchange.com/questions/9211/chang-admin-menu-labels

于 2012-10-18T08:16:03.937 回答
5

我能够post_type_labels_{$post_type}像这样使用过滤器解决这个问题

add_filter( 'post_type_labels_post', 'change_post_labels' );

function change_post_labels( $args ) {
        foreach( $args as $key => $label ){
            $args->{$key} = str_replace( [ __( 'Posts' ), __( 'Post' ) ], __( 'News' ), $label );
        }

        return $args;
}

这个答案也使翻译支持完好无损。唯一需要注意的是,您可能必须从插件中运行它,因为主题加载得太晚了。

于 2017-06-01T18:56:10.340 回答
2

在您的主题函数文件中包括以下几行:

//Change Posts labels in sidebar admin menu
  function custom_post_menu_label() {
     global $menu;
     global $submenu;
     $menu[5][0] = 'News';
     $submenu['edit.php'][5][0] = 'News';
     $submenu['edit.php'][10][0] = 'Add News';         
  }

 //Change Posts labels in other admin area
  function custom_post_object_label() {
    global $wp_post_types;
    $labels = &$wp_post_types['post']->labels;
    $labels->name = 'News';
    $labels->singular_name = 'News';
    $labels->add_new = 'Add News';
    $labels->add_new_item = 'Add News';
    $labels->edit_item = 'Edit News';
    $labels->new_item = 'News';
    $labels->view_item = 'View News';
    $labels->search_items = 'Search News';
    $labels->not_found = 'No results on News';
    $labels->not_found_in_trash = 'No News in Trash';
    $labels->name_admin_bar = 'Add News';       

   }

 add_action( 'init', 'custom_post_object_label' );
 add_action( 'admin_menu', 'custom_post_menu_label' );

先前答案的作者忘记包含 '$labels->name_admin_bar = 'Add News';' 细绳。

于 2014-03-17T12:48:16.070 回答