Для вывода содержимого кастомного метабокса в WordPress, вам потребуется несколько шагов.
1. Создайте функцию, которая будет генерировать код содержимого вашего кастомного метабокса. В этой функции вы можете использовать любые HTML или PHP коды для создания нужного вам вида метабокса. Например, вы можете создать форму с полями для ввода данных или отобразить информацию о посте.
function custom_metabox_content() { // ваш код содержимого метабокса }
2. Затем вам нужно зарегистрировать эту функцию в качестве содержимого метабокса. Для этого вы можете использовать функцию add_meta_box()
. Она принимает несколько параметров, включая название, идентификатор, функцию вывода содержимого и экран, на котором должен отображаться метабокс.
function add_custom_metabox() { add_meta_box( 'custom_metabox', 'Название вашего метабокса', 'custom_metabox_content', 'post', 'normal', 'high' ); } add_action('add_meta_boxes', 'add_custom_metabox');
Вызов функции add_meta_box()
должен быть помещен в функцию, которая будет вызываться при событии add_meta_boxes
. Это гарантирует, что ваш метабокс будет зарегистрирован на странице редактирования поста.
3. После того как метабокс будет зарегистрирован и его функция содержимого будет вызываться, вам нужно обработать данные, введенные пользователем, и сохранить их в базе данных WordPress. Для этого вы можете использовать хук save_post
.
function save_custom_metabox_data($post_id) { // проверяем, если это автосохранение, то прекращаем работу if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } // проверяем, если у пользователя есть права на редактирование if (!current_user_can('edit_post', $post_id)) { return; } // сохраняем данные формы if (isset($_POST['custom_metabox_field'])) { $new_data = sanitize_text_field($_POST['custom_metabox_field']); update_post_meta($post_id, 'custom_metabox_key', $new_data); } } add_action('save_post', 'save_custom_metabox_data');
В этом примере мы проверяем, что это не автосохранение, и что у пользователя есть права на редактирование поста. Затем мы сохраняем данные формы, используя функцию update_post_meta()
. custom_metabox_field
- это имя поля, которое мы определили в вашем кастомном метабоксе, и custom_metabox_key
- это ключ метаданных, в который мы сохраняем данные.
4. Наконец, вы можете вывести сохраненное значение метабокса на странице вашего поста. Для этого используйте функцию get_post_meta()
.
$custom_data = get_post_meta(get_the_ID(), 'custom_metabox_key', true); echo $custom_data;
В этом примере мы используем get_post_meta()
для получения сохраненного значения метабокса с ключом custom_metabox_key
. Затем мы просто выводим это значение.
Теперь вы должны иметь все необходимые инструменты для вывода содержимого вашего кастомного метабокса в WordPress. Это позволит вам создавать и настраивать дополнительные поля и функциональности для вашего сайта на основе WordPress.