Mặc dù bạn phải thêm một số xác nhận, nhưng hành động này dường như không phức tạp đối với phiên bản hiện tại của WordPress.
Về cơ bản, bạn cần hai bước để thêm Trường tùy chỉnh vào Loại bài tùy chỉnh:
- Tạo một metabox chứa Trường tùy chỉnh của bạn
- Lưu trường tùy chỉnh của bạn vào cơ sở dữ liệu
Các bước này được mô tả toàn cầu tại đây: http://wordpress.org/support/topic/is-it-possible-to-add-an-extra-field-to-a-custom-post-type
Thí dụ:
Thêm Trường tùy chỉnh được gọi là "chức năng" vào Loại bài đăng tùy chỉnh được gọi là "tiền tố nhóm".
Đầu tiên thêm metabox:
function prefix_teammembers_metaboxes( ) {
global $wp_meta_boxes;
add_meta_box('postfunctiondiv', __('Function'), 'prefix_teammembers_metaboxes_html', 'prefix_teammembers', 'normal', 'high');
}
add_action( 'add_meta_boxes_prefix-teammembers', 'prefix_teammembers_metaboxes' );
Nếu bạn thêm hoặc chỉnh sửa "đồng đội tiền tố", add_meta_boxes_{custom_post_type}
hook sẽ được kích hoạt. Xem http://codex.wordpress.org/Function_Reference/add_meta_box để biết add_meta_box()
chức năng. Trong cuộc gọi trên add_meta_box()
là prefix_teammembers_metaboxes_html
, một cuộc gọi lại để thêm trường biểu mẫu của bạn:
function prefix_teammembers_metaboxes_html()
{
global $post;
$custom = get_post_custom($post->ID);
$function = isset($custom["function"][0])?$custom["function"][0]:'';
?>
<label>Function:</label><input name="function" value="<?php echo $function; ?>">
<?php
}
Trong bước thứ hai, bạn có trường tùy chỉnh vào cơ sở dữ liệu. Khi lưu save_post_{custom_post_type}
hook được kích hoạt (kể từ phiên bản 3.7, hãy xem: /programming/5151409/wordpress-save-post-action-for-custom-posts ). Bạn có thể móc cái này để lưu trường tùy chỉnh của bạn:
function prefix_teammembers_save_post()
{
if(empty($_POST)) return; //why is prefix_teammembers_save_post triggered by add new?
global $post;
update_post_meta($post->ID, "function", $_POST["function"]);
}
add_action( 'save_post_prefix-teammembers', 'prefix_teammembers_save_post' );