2014-10-01 66 views
3

感謝您的時間。將「發佈」重命名爲其他東西

我想讓WordPress儀表板以完全正常的方式對待帖子(香草,不是自定義文章類型或任何東西),而是用其他的東西代替。我試過插件,聲稱這樣做,他們取代它在一些地點,但不是其他人。

最難改變的位置是在「查看所有帖子」,即使通過插件進行網站範圍內的文本替換,該字固執地拒絕從標題的「帖子」更改。

什麼是正確的方式來通知WordPress,我想通過不同的名稱致電帖子?

+0

我們偶爾爲我們的客戶提供法文管理屏幕,它將「發佈」更改爲「文章」。將創建一個自定義的「翻譯」,只是改變「後」是一種可接受的方法嗎? – Hobo 2014-10-01 16:26:05

+0

有趣。兩個問題: 1.是否會替換儀表板上的所有實例? 2.是否替換「標題」和「描述」字段中的用戶內容?當然,我們不能讓用戶內容修改,只需要在管理面板中。 ----考慮到另一個潛在的問題,如果它影響管理員輸入的文本,他們查看他們寫的頁面然後重新保存它,它是否會更改那裏的文本並破壞發佈數據? – Puck 2014-10-01 16:34:22

+0

它只會改變標籤,而不會改變內容(例如,由於管理員使用法語,WordPress不會保存任何不同內容)。例如,翻譯可以將__('Posts')'[這裏](https://core.trac.wordpress.org/browser/tags/4.0/src/wp-admin/menu.php#L49)替換爲你的文字。但看起來Daniel Cooley的回答會做你所需要的,所以添加一個翻譯可能會過度。 – Hobo 2014-10-02 07:12:50

回答

8

在functions.php文件將這個(明顯變化,以任何你想要的職位名稱是「新聞文章」):

// Function to change "posts" to "news" in the admin side menu 
function change_post_menu_label() { 
    global $menu; 
    global $submenu; 
    $menu[5][0] = 'News Articles'; 
    $submenu['edit.php'][5][0] = 'News Articles'; 
    $submenu['edit.php'][10][0] = 'Add News Article'; 
    $submenu['edit.php'][16][0] = 'Tags'; 
    echo ''; 
} 
add_action('admin_menu', 'change_post_menu_label'); 
// Function to change post object labels to "news" 
function change_post_object_label() { 
    global $wp_post_types; 
    $labels = &$wp_post_types['post']->labels; 
    $labels->name = 'News Articles'; 
    $labels->singular_name = 'News Article'; 
    $labels->add_new = 'Add News Article'; 
    $labels->add_new_item = 'Add News Article'; 
    $labels->edit_item = 'Edit News Article'; 
    $labels->new_item = 'News Article'; 
    $labels->view_item = 'View News Article'; 
    $labels->search_items = 'Search News Articles'; 
    $labels->not_found = 'No News Articles found'; 
    $labels->not_found_in_trash = 'No News Articles found in Trash'; 
} 
add_action('init', 'change_post_object_label'); 

如果你擔心翻譯(根據意見您的問題),只需爲每個項目添加相應的__('News Articles', 'my-text-domain');功能...

+0

'$ menu [5] [0] ='新聞文章';'假設文章的默認位置是5?如果你改變了職位呢? – Amanda 2016-09-06 15:30:54

+0

是的...這是假設。如果您更改了菜單位置,請相應地更改[5]。如果你不知道你把它放在哪裏,你可以做'echo'

'; var_dump($menu); echo '
';看看它在哪個位置!爲'$ submenu'做同樣的事情。希望這可以幫助。 – 2016-09-06 16:24:41