问题描述

我正在使用 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。