WordPress. Произвольные поля. Часть 1 из 2
15.08.2019
Теги: CMS • Web-разработка • WordPress • МетаДанные
В WordPress есть возможность для каждой записи любого типа (post
, page
и прочие) задавать неограниченное количество параметров в виде пар ключ-значение. Для их хранения предусмотрена отдельная таблица в базе данных wp_postmeta
. Эти параметры называются произвольными полями или мета-полями записи.
Произвольные поля в админке
Переходим на страницу редактирования или создания нового поста, прокручиваем вниз до блока «Произвольные поля». Задаем (или выбираем из списка) имя параметра и его значение. Для одного параметра может быть задано несколько значений.
Как вывести метаданные записи
Функция the_meta()
Позволяет вывести все произвольные поля текущего поста в виде маркированного списка:
the_meta();
<ul class="post-meta"> <li><span class="post-meta-key">meta_keywords:</span> Lorem ipsum dolor sit amet...</li> <li><span class="post-meta-key">meta_description:</span> Lorem ipsum dolor sit amet...</li> <li><span class="post-meta-key">size:</span> small, medium, large</li> </ul>
Обратите внимание, что функция не выводит защищенные мета-поля, которые начинаются с подчеркивания.
Функция get_post_meta()
Позволяет получить значение произвольного поля поста:
get_post_meta( $post_id, // идентификатор поста $key = '', // название произвольного поля $single = false // возвращать только одно значение? );
Одно, самое первое значение мета-поля size
поста с идентификатором 1883
:
echo get_post_meta(1883, 'size', true);
small
Все значения мета-поля с ключом size
поста с идентификатором 1883
:
$post_meta = get_post_meta(1883, 'size'); print_r($post_meta);
Array ( [0] => small [1] => medium [2] => large )
Все значения всех мета-полей поста с идентификатором 1883
:
$post_meta = get_post_meta(1883); print_r($post_meta);
Array ( [_edit_lock] => Array ( [0] => 1565857019:1 ) [_edit_last] => Array ( [0] => 1 ) [meta_keywords] => Array ( [0] => Lorem ipsum dolor sit amet, consectetur adipisicing elit ) [meta_description] => Array ( [0] => Lorem ipsum dolor sit amet, consectetur adipisicing elit ) [_thumbnail_id] => Array ( [0] => 2231 ) [size] => Array ( [0] => small [1] => medium [2] => large ) )
Функция get_post_custom()
Возвращает многоуровневый массив всех мета-полей для текущего поста или поста, идентифкатор которого указан в параметрах функции.
$post_meta = get_post_custom(1883); print_r($post_meta);
Array ( [_edit_lock] => Array ( [0] => 1565857140:1 ) [_edit_last] => Array ( [0] => 1 ) [meta_keywords] => Array ( [0] => Lorem ipsum dolor sit amet, consectetur adipisicing elit ) [meta_description] => Array ( [0] => Lorem ipsum dolor sit amet, consectetur adipisicing elit ) [_thumbnail_id] => Array ( [0] => 2231 ) [size] => Array ( [0] => small [1] => medium [2] => large ) )
Функция get_post_custom_keys()
Возвращает массив с ключами мета-полей для текущего поста или поста, идентифкатор которого указан в параметрах функции.
$post_meta_keys = get_post_custom_keys(1883); print_r($post_meta_keys);
Array ( [0] => _edit_lock [1] => _edit_last [2] => meta_keywords [3] => meta_description [4] => _thumbnail_id [5] => size )
Функция get_post_custom_values()
Возвращает массив значений мета-поля по ключу для текущего поста или поста, идентифкатор которого указан в параметрах функции. Обратите внимание, что функция всегда возвращает массив, даже если у мета-поля только одно значение.
$post_meta_values = get_post_custom_values('size', 1883); print_r($post_meta_values);
Array ( [0] => small [1] => medium [2] => large )
- WordPress. Фильтр записей по произвольным полям. Часть 3 из 3
- WordPress. Фильтр записей по произвольным полям. Часть 2 из 3
- WordPress. Фильтр записей по произвольным полям. Часть 1 из 3
- WordPress. Добавляем мета-теги. Часть 3 из 3
- WordPress. Метабоксы. Часть 2 из 2
- WordPress. Метабоксы. Часть 1 из 2
- WordPress. Добавляем мета-теги. Часть 2 из 3
Поиск: CMS • Web-разработка • WordPress • Произвольные поля • Мета данные • the_meta • get_post_meta