Nhảy tới nội dung

Post

Trang danh sách post

điều kiện lấy total

Thay đổi điều kiện lấy ra tổng số post dùng cho phân trang

Loại HookPlatformVersion
apply_filterscms7.0.0
$args = apply_filters('admin_post_<postType>_controllers_index_args_before_count', Qr $args)

Params: biến Qr

Return: biến Qr

function my_custom_admin_post_count(Qr $args): void
{
return $args;
}
add_filter('admin_post_post_controllers_index_args_before_count', 'my_custom_admin_post_count');

điều kiện lấy list

Thay đổi điều kiện lấy ra danh sách post

Loại HookPlatformVersion
apply_filterscms4.0.0
$args = apply_filters('admin_post_<postType>_controllers_index_args', Qr $args)

Params: biến Qr

Return: biến Qr

function my_custom_admin_post(Qr $args): void
{
return $args;
}
add_filter('admin_post_post_controllers_index_args', 'my_custom_admin_post');

danh sách post

Thay danh sách post đã lấy ra

Loại HookPlatformVersion
apply_filterscms7.0.0
$objects = apply_filters('admin_post_<postType>_controllers_index_objects', array $objects, Qr $args);

Params:

  • $objects (array) : danh sách post đã lấy được từ database
  • $args (Qr) : điều kiện lấy post từ database

Return: $objects

function my_custom_admin_post_objects($objects, Qr $args): array
{
return $objects;
}
add_filter('admin_post_post_controllers_index_objects', 'my_custom_admin_post_objects', 10, 2);

table buttons bulk

Tạo ra danh sách buttons bulk, là những button khi người dùng chọn nhiều row trên table

Loại HookPlatformVersion
apply_filterscms7.0.0
$buttons = apply_filters('table_post_bulk_action_buttons', array $buttons);

Params:

  • $buttons (array) : danh sách buttton

Return: $buttons

function my_custom_admin_post_bulk_action_buttons($buttons): array
{
$actionList['postDelete'] = [
'icon' => Admin::icon('delete'),
'label' => trans('post.bulkAction.del.label'),
'class' => 'js_btn_confirm',
'attributes' => [
'data-action' => 'delete',
'data-ajax' => 'Cms_Ajax_Action::delete',
'data-module' => 'post',
'data-trash' => $trashEnable,
'data-heading' => trans('post.bulkAction.del.heading'),
'data-description' => trans('post.bulkAction.del.description'),
]
];

return $buttons;
}
add_filter('table_post_bulk_action_buttons', 'my_custom_admin_post_bulk_action_buttons', 10);

table header buttons

Tạo ra danh sách buttons trên table, là những button nằm ở header table phía tay phải

Loại HookPlatformVersion
apply_filterscms7.0.0
$buttons = apply_filters('table_post_header_buttons', array $buttons);

Params:

  • $buttons (array) : danh sách buttton

Return: $buttons

function my_custom_admin_post_table_header_buttons($buttons): array
{
$buttons['reload'] = Admin::button('reload');

return $buttons;
}
add_filter('table_post_header_buttons', 'my_custom_admin_post_table_header_buttons', 10);

table columns

Chỉnh sữa danh sách table column của post

Loại HookPlatformVersion
apply_filterscms4.0.0
$this->_column_headers = apply_filters("manage_post_<postType>_columns", array $columnHeaders);

Params:

  • $columnHeaders (array) : danh sách column

Return: $columnHeaders

function my_custom_admin_post_table_columns($columnHeaders): array
{
$columnHeaders['image'] = [
'label' => 'Hình ảnh',
'column' => fn ($item, $args) => ColumnImage::make('image', $item, $args),
];

return $columnHeaders;
}
add_filter('manage_post_posts_columns', 'my_custom_admin_post_table_columns');

table columns action

Tạo ra danh sách buttons cho column action

Loại HookPlatformVersion
apply_filterscms7.0.0
$buttons = apply_filters('admin_post_table_columns_action', array $buttons, $item);

Params:

  • $buttons (array) : danh sách buttton
  • $item (object) : đối tượng post của column hiện tại

Return: $buttons

function my_custom_admin_post_table_column_action_buttons($buttons, $item): array
{
return $buttons;
}
add_filter('admin_post_table_columns_action', 'my_custom_admin_post_table_column_action_buttons', 10, 2);

Thêm & Câp nhật post

Form fields

Thay đổi các group, các field trong form addedit post

Loại HookPlatformVersion
apply_filterscms3.0.0
$adminForm = apply_filters("manage_post_<postType>_input", AdminFrom $adminForm);

Params:

  • $adminForm (AdminFrom) : một đối tượng AdminFrom

Return: $adminForm

function my_custom_admin_post_form(AdminFrom $adminForm): array
{
$adminForm->right
->group('seo')
->addField('meta', 'text', ['label' => 'Thẻ meta'])

return $adminForm;
}
add_filter('manage_post_post_input', 'my_custom_admin_post_table_column_action_buttons', 10, 2);

Thêm post thành công

Giúp bạn thực hiện một hành động sau khi thêm post thành công

Loại HookPlatformVersion
do_actioncms7.0.0
do_action('save_post_object_add', $id, SkillDo\Http\Request $request);

Params:

  • $id (int) : id của post vừa thêm thành công
  • $request (Request) : đối tượng request
function my_custom_admin_add_post_success($id, SkillDo\Http\Request $request) : void
{
//to do...
}
add_action('save_post_object_add', 'my_custom_admin_add_post_success', 10, 2);

Cập nhật post thành công

Giúp bạn thực hiện một hành động sau khi cập nhật post thành công

Loại HookPlatformVersion
do_actioncms7.0.0
do_action('save_post_object_edit', $id, SkillDo\Http\Request $request);

Params:

  • $id (int) : id của post vừa cập nhật thành công
  • $request (Request) : đối tượng request
function my_custom_admin_edit_post_success($id, SkillDo\Http\Request $request) : void
{
//to do...
}
add_action('save_post_object_edit', 'my_custom_admin_edit_post_success', 10, 2);