WordPress предлагает мощную функциональность для хранения и доступа к информации в мета-полях записи. Мета-поля позволяют добавить дополнительные поля в записи, такие как заголовок, автор, содержание и т.д., чтобы хранить дополнительные пользовательские данные.
1. Создание мета-полей:
Создание мета-поля можно осуществить с помощью функции add_meta_box()
, которая используется для добавления кастомных полей в "edit post/page screen". Функция требует указания идентификатора мета-поля, заголовка, функции обратного вызова и контекста, в котором оно будет отображаться.
Пример кода:
function custom_meta_box() { add_meta_box('custom-meta-box', 'Custom Meta Box', 'display_custom_meta_box', 'post', 'normal', 'high'); } add_action('add_meta_boxes', 'custom_meta_box'); function display_custom_meta_box($post) { $value = get_post_meta($post->ID, 'custom-meta-field', true); ?> <label for="custom-meta-field">Custom Meta Field:</label> <input type="text" id="custom-meta-field" name="custom-meta-field" value="<?php echo esc_attr($value); ?>"> <?php }
В приведенном примере создается мета-поле с идентификатором 'custom-meta-box'. Оно будет отображаться внутри блока 'normal' на экране редактирования записи типа 'post' с приоритетом 'high'. Функция обратного вызова 'display_custom_meta_box' отвечает за отображение поля. Здесь мы выводим текстовое поле с идентификатором 'custom-meta-field' и сохраненным значением.
2. Сохранение значений мета-полей:
Для сохранения значения мета-поля требуется использовать функцию update_post_meta()
. Функция требует указания идентификатора записи, идентификатора мета-поля и его значения.
Пример кода:
function save_custom_meta_box($post_id) { if (isset($_POST['custom-meta-field'])) { $value = sanitize_text_field($_POST['custom-meta-field']); update_post_meta($post_id, 'custom-meta-field', $value); } } add_action('save_post', 'save_custom_meta_box');
В данном примере функция 'save_custom_meta_box' вызывается при сохранении записи. Она проверяет, установлено ли значение поля 'custom-meta-field', и если да, то сохраняет его с использованием функции update_post_meta()
. Функция sanitize_text_field()
используется для безопасного очистки полученного значения.
3. Получение значений мета-полей:
Значения мета-полей можно получить с помощью функции get_post_meta()
. Функция требует указания идентификатора записи и идентификатора мета-поля, и возвращает сохраненное значение.
Пример кода:
$value = get_post_meta(get_the_ID(), 'custom-meta-field', true); echo 'Custom Meta Field Value: ' . $value;
В данном примере мы используем функцию get_post_meta()
для получения значения мета-поля 'custom-meta-field' текущей записи. Значение сохраняется в переменную $value
и выводится на экран.
Таким образом, используя вышеприведенные шаги, вы можете реализовать хранение и доступ к информации в мета-полях записи в WordPress.