Custom Field
Trong SkillDo trình thêm mới và cập nhật đối tượng bao gồm 2 khái niệm báo gồm Group Field
và Field
Một Group bao gồm nhiều File
Page
#List page key
Danh sách Group trong Page
Key | Label | Position | Description |
---|---|---|---|
info | Thông tin | lang | Group chứa các Field đa ngôn ngữ mặc định |
seo | Seo | right | Group chứa các Field cung cấp cho việc seo bài viết |
theme | Giao diện | right | Group chứa các Field cung cấp cho việc chọn lựa giao diện |
Danh sách Field trong Page
Key | Label | Group | Description |
---|---|---|---|
[lang]_title | Tiêu đề | lang | Field tiêu đề bài viết |
[lang]_excerpt | Mô tả | lang | Field mô tả bài viết |
[lang]_content | Nội dung | lang | Field nội dung bài viết |
slug | Slug | seo | Field chưa slug của bài viết |
seo_title | Meta title | seo | Field chứa meta title |
seo_keywords | Meta Keyword | seo | Field chứa meta keyword |
seo_description | Meta Description | seo | Field chứa meta description |
theme_layout | Template Layout | theme | Field chứa danh sách layout lựa chọn |
theme_view | Template View | theme | Field chứa danh sách view lựa chọn |
#Custom page field
Để thay đổi hay thêm mới group hay field mặc đinh của page bạn sử dụng filter
manage_page_input
Example
Thay đổi tiêu đề group SEO và Field seo_title
function custom_field_page($form) {
$form['right']['seo'] = 'Thông tin seo';
$form['field']['seo_title']['label'] = 'Meta seo title';
return $form;
}
add_filter('manage_page_input', 'custom_field_page');
POST
#List post key
Danh sách Group trong Page
Key | Label | Position | Description |
---|---|---|---|
info | Thông tin | lang | Group chứa các Field đa ngôn ngữ mặc định |
taxonomies | CHUYÊN MỤC | right | Group chứa các Field danh mục (taxonomy) |
media | Media | right | Group chứa Field hình ảnh |
seo | Seo | right | Group chứa các Field cung cấp cho việc seo bài viết |
Danh sách Field trong Page
Key | Label | Group | Description |
---|---|---|---|
[lang]_title | Tiêu đề | lang | Field tiêu đề bài viết |
[lang]_excerpt | Mô tả | lang | Field mô tả bài viết |
[lang]_content | Nội dung | lang | Field nội dung bài viết |
taxonomy_[cate_type] | Taxonomy label | taxonomies | Các Field chưa taxonomy của bài viết |
image | Ảnh đại diện | media | Field chưa ảnh đại diện của bài viết |
slug | Slug | seo | Field chưa slug của bài viết |
seo_title | Meta title | seo | Field chứa meta title |
seo_keywords | Meta Keyword | seo | Field chứa meta keyword |
seo_description | Meta Description | seo | Field chứa meta description |
theme_layout | Template Layout | theme | Field chứa danh sách layout lựa chọn |
theme_view | Template View | theme | Field chứa danh sách view lựa chọn |
#Custom post field
Để thay đổi hay thêm mới group hay field mặc đinh của post bạn sử dụng filter
manage_post_[post_type]_input
#Example
Thêm group và field mới vào bài viết có post_type là post
function custom_field_post($form) {
$form['right']['group_moi'] = 'Đây là group mới';
$form['field']['field_moi'] = [
'group' => 'group_moi',
'field' => 'field_moi',
'label' => 'Tiêu đề của field',
'type' => 'text'
];
return $form;
}
add_filter('manage_post_post_input', 'custom_field_post');
FORMBUILDER
Bạn cũng có thể sử dụng FromBuilder để custom group & field
#Add group
Thêm một group mới vào form
static function FormBuilder::addGroup($position, $group_key, $group_label);
$position (string) vị trí group (leftt | lang | leftb | right | tabs)
#Remove group
Xóa một group ra khỏi form
static function FormBuilder::removeGroup($group_key);
#Add Field
Thêm một Field vào một group trong form
static function FormBuilder::addField($group_key, $name, $args);
$group_key (string) Group key muốn thêm field
$name (string) Tên field
$args (array) Biến mở rộng Input tham khảo FormBuilder
#Remove field
Xóa một field ra khỏi form
static function FormBuilder::removeField($name);
#Example
function theme_custom_page_form() {
FormBuilder::addField('seo', 'slug', ['label' => 'Custom Slug', 'type' => 'text']);
}
add_action('manage_form_input', 'theme_custom_page_form');