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 FieldField

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 )

#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');