Статьи

Освоение метаданных WordPress: введение в метаданные

Частью того, что делает WordPress мощным инструментом CMS, является возможность использовать таблицу wp_postmeta для хранения пользовательских полей. Эти пользовательские поля могут содержать дополнительную информацию, такую ​​как поля SEO, добавленные плагином SEO, или могут использоваться для отображения дополнительного внешнего интерфейса.

Добавляя эту дополнительную информацию к полям, вы можете создавать собственные запросы для организации отображения вашего контента.

Научиться работать с этими данными — отличный способ изучить основные понятия PHP, включая массивы, циклы и объекты. Чтобы стать мастером метаданных WordPress, вы должны освоить массивы всех видов.

В этой серии руководств я покажу вам различные способы работы с метаданными WordPress и метаданными пользователей в качестве конкретных примеров работы с массивами.

Вы узнаете разницу между индексированным массивом и ассоциативным массивом, а также узнаете, как понимать многомерные массивы.

Наиболее техническое определение метаданных публикации — это любая информация, которая хранится в таблице wp_postmeta . По умолчанию это немного, но каждый раз, когда плагин или тема добавляет настраиваемое поле, данные, введенные в это поле, будут сохранены в таблицу wp_postmeta .

Хорошим примером будут поля SEO, которые добавляет плагин SEO. Например, подумайте о мета-описании поста. Это поле хранится в таблице postmeta.

Кроме того, профили пользователей в WordPress могут быть расширены с помощью пользовательских полей. В отношениях, которые отражают wp_posts и wp_postmeta , эти поля хранятся в таблице wp_usermeta не в таблице wp_user .

В этой серии мы не будем обсуждать, как добавлять настраиваемые поля в WordPress — это отдельная тема. Настраиваемые поля можно добавить в редакторе сообщений с помощью мета-поля «Настраиваемые поля», внедрив их непосредственно в плагин или тему или используя специализированную среду, такую ​​как Pod или Advanced Custom Fields .

Технически говоря, метаданные post — это любая информация, которая хранится в таблице wp_postmeta . Как мы уже упоминали, хорошим примером публикации метаданных является поле мета-описания, которое вводится с помощью плагинов, таких как WordPress SEO.

Yoast

WordPress предоставляет нам различные способы получения метаданных для публикации.

Мы можем получить только одно поле, используя get_post_meta() , указав это поле. Например, чтобы получить поле с именем ‘foo’ из текущего поста в цикле, мы можем сделать get_post_meta( get_the_id(), 'foo', true ); ,

Обратите внимание, что мы установили для последнего аргумента значение true . Этот аргумент, называемый «single», определяет, хотим ли мы вернуть одно значение или массив значений. Если бы мы хотели, мы могли бы получить все значения для сообщения в одну переменную или все значения из поля.

Иногда мы хотим построить весь цикл вокруг метаданных, и именно здесь WP_Query очень полезен. WP_Query позволяет нам делать так называемый «мета-запрос», в котором мы запрашиваем посты на основе одного или нескольких мета-полей и возвращаем посты, значения которых соответствуют определенному значению. Результатом является коллекция, через которую мы можем зацикливаться.

Например, представьте, что у нас есть поле с именем «author_name», и мы хотим возвращать каждый пост, где поле author_name имеет значение «JRR Tolkien». WP_Query позволяет нам сделать это легко — мы рассмотрим это подробно в четвертой части этой серии.

Сообщения не единственный тип данных, который имеет метаданные. Например, вы знаете все те поля, которые доступны в профиле пользователя? Это все мета-поля, вместо того, чтобы храниться в таблице wp_postmeta , они хранятся в таблице wp_usermeta .

В результате у нас есть специальные функции и классы для метаинформации пользователя. Функции get_user_meta() и get_author_meta() эквивалентны метаданным get post для пользователей. WP_Query также имеет собственный пользовательский эквивалент — WP_User_Query .

Когда вы используете функции, такие как get_post_meta() чтобы вернуть более одного поля, вы, скорее всего, получите то, что называется многомерным массивом. Многомерный массив также известен как массив массивов. Каждый массив в многомерном массиве может быть многомерным массивом.

Звук сбивает с толку? Не волнуйся! В этой серии мы рассмотрим, как читать многомерные массивы, чтобы «детализировать» нужный вам индекс.

Наконец, как мы упоминали ранее, другой способ получения информации о публикации — это использование WP_Query . Когда вы используете класс WP_Query вы используете то, что называется объектно-ориентированным PHP, и то, что вы возвращаете, отличается от массива — это объект.

В некотором смысле объекты похожи на массивы в том смысле, что они могут содержать массивы информации. Но с объектом вы можете использовать любую из функций, доступных в классе. Это означает, что мы можем не только использовать объект WP_Query для возврата значения для метаполя, но мы также можем использовать его внутренние методы, наиболее распространенным из которых является the_post() .

На данный момент мы взяли обзор различных типов метаданных, как они хранятся, как они могут быть представлены и как их получить.

Продолжая эту серию, мы более глубоко рассмотрим каждый аспект таблиц метаданных, связанные API-интерфейсы и то, как мы можем использовать их для введения функциональности и гибкости в наши проекты.