問題描述

我正在使用 posts-type 帖子來顯示投資組合專案,將投資組合標記為帖子看起來很奇怪。有什麼辦法可以將帖子重新命名為投資組合,以更好地反映其使用情況。

最佳解決方案

如果要簡單地重新命名帖子的外觀,而不是建立自定義的帖子型別,請將此程式碼新增到主題 functions.php 檔案中。

// hook the translation filters
add_filter(  'gettext',  'change_post_to_portfolio'  );
add_filter(  'ngettext',  'change_post_to_portfolio'  );

function change_post_to_portfolio( $translated ) {
  $translated = str_ireplace(  'Post',  'Portfolio',  $translated );  // ireplace is PHP5 only
  return $translated;
}

為了透明度,我從 this article 得到了這個程式碼,儘管我過去使用了類似的技巧。

次佳解決方案

您需要建立一個自定義帖子型別,”Portfolio” 。

帖子是帖子。為什麼嘗試使用它們作為它們不是的東西,然後嘗試更改其命名,而不是在 functions.php 中編寫一個或兩個簡單的函式,這將導致具有所需的確切功能和確切的術語?

第三種解決方案

我使用以下指令碼來重新命名預設的帖子型別:

function change_post_menu_label() {
    global $menu, $submenu;

    $menu[5][0] = 'Portfolio';
    $submenu['edit.php'][5][0] = 'Portfolio';
    $submenu['edit.php'][10][0] = 'New Portfolio';
    $submenu['edit.php'][16][0] = 'Portfolio Tags';
    echo '';
}
add_action( 'admin_menu', 'change_post_menu_label' );

function change_post_object_label() {
    global $wp_post_types;

    $labels = &$wp_post_types['post']->labels;
    $labels->name = 'Portfolio';
    $labels->singular_name = 'Portfolio';
    $labels->add_new = 'New Portfolio';
    $labels->add_new_item = 'New Portfolio';
    $labels->edit_item = 'Edit Portfolio';
    $labels->new_item = 'New Portfolio';
    $labels->view_item = 'View Portfolio';
    $labels->search_items = 'Search Portfolio';
    $labels->not_found = 'Not found';
    $labels->not_found_in_trash = 'Not found in trash';
}
add_action( 'init', 'change_post_object_label' );

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。