Tôi đang sử dụng Bài viết loại bài đăng để hiển thị các mục danh mục đầu tư và có vẻ lạ khi danh mục đầu tư được gắn nhãn là bài đăng. Có cách nào để đổi tên Bài viết thành Danh mục đầu tư thay vào đó để phản ánh tốt hơn cách sử dụng của nó.
Tôi đang sử dụng Bài viết loại bài đăng để hiển thị các mục danh mục đầu tư và có vẻ lạ khi danh mục đầu tư được gắn nhãn là bài đăng. Có cách nào để đổi tên Bài viết thành Danh mục đầu tư thay vào đó để phản ánh tốt hơn cách sử dụng của nó.
Câu trả lời:
Nếu bạn muốn đơn giản đổi tên giao diện của bài đăng, thay vì tạo loại bài đăng tùy chỉnh thì hãy thêm mã này vào tệp tin.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;
}
Vì lợi ích của tính minh bạch, tôi đã nhận được mã này từ bài viết này , mặc dù tôi đã sử dụng các thủ thuật tương tự trong quá khứ.
Tôi đã sử dụng tập lệnh sau để đổi tên loại bài đăng mặc định:
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' );
Bạn cần tạo Loại bài đăng tùy chỉnh, "Danh mục đầu tư".
Bài viết là Bài viết. Tại sao cố gắng sử dụng chúng như một cái gì đó mà chúng không phải, và sau đó thử thay đổi danh pháp của chúng, thay vì viết một hoặc hai hàm đơn giản functions.php, điều đó sẽ dẫn đến cả chức năng chính xác và danh pháp chính xác mà bạn muốn?
UPDATE wp_posts SET post_type = 'funny-bunny' WHERE post_type = 'post';Rất có thể bạn sẽ cần thay đổi tiền tố bảng (wp_) để phản ánh cài đặt đó trong cài đặt hiện tại của bạn.
// hook the translation filters
add_filter( 'gettext', 'change_post_to_article' );
add_filter( 'ngettext', 'change_post_to_article' );
function change_post_to_article( $translated ) {
$translated = str_ireplace( 'Post', 'Article', $translated ); // ireplace is PHP5 only
return $translated;
}
Tôi đã nhận được mẹo này từ tạp chí đập vỡ và thử nghiệm nó và nó hoạt động rất tốt
http://www.smashingmagazine.com/2011/05/10/new-wordpress-power-tips-for-template-developers-and-consultants/
Tôi tìm thấy chủ đề này khi tôi đang tìm kiếm một giải pháp để thay đổi loại bài đăng từ tên này sang tên khác.
Thay vì thực hiện một truy vấn tùy chỉnh theo đề xuất của một người nào đó ở đây, tôi chỉ đơn giản làm điều này:
$post = get_post( $id ); // The current post id
$post->post_type = 'receipt'; // The new post type name
wp_update_post( $post ); // Updating the new information
Các cpt phải được tạo và tạo ..
Đổi tên bài viết thành danh mục đầu tư
function litho_posts_portfolio() {
global $menu;
global $submenu;
$menu[5][0] = __("Portfolio", 'litho');
$submenu['edit.php'][5][0] = __("Portfolio", 'litho');
$submenu['edit.php'][10][0] = __("New Item", 'litho');
echo '';
}
function litho_posts_portfolio_label() {
global $wp_post_types;
$labels = &$wp_post_types['post']->labels;
$labels->name = __("Portfolio", 'litho');
$labels->singular_name = __("Item", 'litho');
$labels->add_new = __("New Item", 'litho');
$labels->add_new_item = __("New Item", 'litho');
$labels->edit_item = __("Edit Item", 'litho');
$labels->new_item = __("Item", 'litho');
$labels->view_item = __("View Item", 'litho');
$labels->search_items = __("Search Portfolio", 'litho');
$labels->not_found = __("No Item Found", 'litho');
$labels->not_found_in_trash = __("No Item found in Trash", 'litho');
}
add_action( 'init', 'litho_posts_portfolio_label' );
add_action( 'admin_menu', 'litho_posts_portfolio' );
__()Chức năng.
echo '';?
Nếu bạn chỉ muốn thay đổi nhãn menu quản trị viên từ Bài đăng -> Danh mục đầu tư, thì hãy xem câu hỏi này:
[Cập nhật]
Plugin Admin Menu Editor này có vẻ như sẽ cho phép bạn thay đổi nhãn menu dễ dàng hơn - mặc dù tôi chưa thử nghiệm nó.
Bạn sẽ chỉ cần tạo một bài đăng tùy chỉnh khác có khả năng tương tự như một bài đăng thông thường. Sau đó, bạn có thể vô hiệu hóa menu Bài viết với điều này:
function remove_menus()
{
global $menu;
$restricted = array( __('Posts'));
end ($menu);
while (prev($menu))
{
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted))
{
unset($menu[key($menu)]);
}
}
}
add_action('admin_menu', 'remove_menus');