add_meta_boxesхук-событиеWC 3.8.0.

Это хук WordPress - add_meta_boxes. Плагин его просто использует.

Позволяет зарегистрировать метаблок для любого типа записи. Срабатывает после того, как все встроенные метаблоки были добавлены.

Получает 2 параметра: $post_type, $post.

Так же есть аналогичный хук add_meta_boxes_{post_type} — срабатывает только на странице редактирования записи типа {post_type}, т.е. можно сразу указать тип записи на котором будет срабатывать хук. Так как тип записи указывается заранее, хук получает всего один параметр: $post.

Использование

add_action( 'add_meta_boxes', 'wp_kama_add_meta_boxes_action', 10, 2 );

/**
 * Function for `add_meta_boxes` action-hook.
 * 
 * @param string  $post_type Post type.
 * @param WP_Post $post      Post object.
 *
 * @return void
 */
function wp_kama_add_meta_boxes_action( $post_type, $post ){

	// action...
}
$post_type(строка)
Название типа записи, на странице редактирования которого вызывается хук.
$post(WP_Post)
Объект записи: объект WP_Post.

Примеры

1

#1 Добавим мета блок на страницу редактирования записи типа post

add_action( 'add_meta_boxes', 'adding_custom_meta_boxes', 10, 2 );
function adding_custom_meta_boxes( $post_type, $post ) {
	add_meta_box( 'my-meta-box', 'Мой метаблок', 'render_my_meta_box', 'post', 'normal', 'default' );
}

function render_my_meta_box(){
	echo 'HTML метаблока';
}
0

#2 Использование аналогичного хука: add_meta_boxes_{post_type}

Этот код делает тоже самое что и первый пример. Только здесь тип записи указывается сразу в названии хука.

add_action( 'add_meta_boxes_'.'post', 'adding_custom_meta_boxes' );
function adding_custom_meta_boxes( $post ) {
	add_meta_box( 'my-meta-box', 'Мой метаблок', 'render_my_meta_box', 'post', 'normal', 'default' );
}

function render_my_meta_box(){
	echo 'HTML метаблока';
}

Список изменений

С версии 3.8.0. Введена.

Где вызывается хук

Edit::setup()
add_meta_boxes
woocommerce/src/Internal/Admin/Orders/Edit.php 165
do_action( 'add_meta_boxes', $this->screen_id, $this->order );

Где используется хук в WooCommerce

woocommerce/includes/admin/class-wc-admin-meta-boxes.php 45
add_action( 'add_meta_boxes', array( $this, 'remove_meta_boxes' ), 10 );
woocommerce/includes/admin/class-wc-admin-meta-boxes.php 46
add_action( 'add_meta_boxes', array( $this, 'rename_meta_boxes' ), 20 );
woocommerce/includes/admin/class-wc-admin-meta-boxes.php 47
add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 30 );
woocommerce/includes/admin/class-wc-admin-meta-boxes.php 48
add_action( 'add_meta_boxes', array( $this, 'add_product_boxes_sort_order' ), 40 );
woocommerce/src/Internal/Admin/ShippingLabelBanner.php 29
add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 6, 2 );