add_meta_boxesхук-событиеWP 3.0.0

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

Получает 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.

Примеры

0

#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.0.0 Введена.

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

register_and_do_post_meta_boxes()
add_meta_boxes
wp-admin/includes/meta-boxes.php 1599
do_action( 'add_meta_boxes', $post_type, $post );
wp-admin/edit-link-form.php 37
do_action( 'add_meta_boxes', 'link', $link );
wp-admin/edit-form-comment.php 232
do_action( 'add_meta_boxes', 'comment', $comment );

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

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