Чтобы добавить поля на странице редактирования записи или страницы в WordPress, вам понадобится использовать функцию add_meta_box(). Вот пример:
function add_custom_meta_box() {
add_meta_box(
'custom_meta_box',
'Название вашей метабокс',
'custom_meta_box_callback',
'post',
'normal',
'high'
);
}
add_action('add_meta_boxes', 'add_custom_meta_box');
function custom_meta_box_callback() {
// Это содержимое вашей метабокса
echo '<label for="custom_field">Заголовок:</label>';
echo '<input type="text" id="custom_field" name="custom_field" />';
}
function save_custom_meta_box_data($post_id) {
if (array_key_exists('custom_field', $_POST)) {
update_post_meta(
$post_id,
'custom_field',
$_POST['custom_field']
);
}
}
add_action('save_post', 'save_custom_meta_box_data');
После внесения и сохранения изменений вы сможете увидеть новое поле внизу страницы редактирования записи «Заголовок:», которое сохраняется вместе с записью.
В этом примере мы добавили метабокс с названием ‘custom_meta_box’ на страницу редактирования записи ‘post’, в нормальном месте с приоритетом ‘high’. В функции ‘custom_meta_box_callback’ мы создаем HTML-элемент для поля. В функции ‘save_custom_meta_box_data’ мы проверяем значениe поля ‘custom_field’ и сохраняем его вместе с записью при сохранении записи.
Вы можете изменять эти функции для создания своих метабоксов и полей.