Плагин Pods — мощный инструмент для расширения функционала WordPress, который позволяет создавать собственные типы постов, таксономии и настраиваемые поля. Вот пошаговая инструкция по установке и настройке Pods.
Шаг 1: Установка плагина
- Через админ-панель WordPress:
 
- Войдите в административную панель WordPress.
 - Перейдите в меню Плагины > Добавить новый.
 - Введите в поисковую строку слово «Pods».
 - Найдите плагин «Pods – Custom Content Types and Fields» от автора «Pods Framework Project».
 - Нажмите кнопку Установить, затем Активировать.
 
- Ручная установка:
 
- Загрузите архив плагина с официального сайта WordPress.org.
 - Разархивируйте файл.
 - Загрузите папку pods на ваш сервер через FTP в директорию /wp-content/plugins/.
 - Активируйте плагин в административной панели WordPress.
 
Шаг 2: Настройка основных параметров
После активации плагина выполните следующие шаги для настройки базовых параметров:
- Перейдите в меню Settings > Pods.
 - На вкладке General Settings выберите нужные опции:
 
- Enable Pods UI in Admin Bar: Включает интерфейс Pods в верхней панели администратора.
 - Disable REST API Support for Pods: Отключает поддержку REST API для Pods (если необходимо).
 - Hide Advanced Options on Edit Screen: Скрывает продвинутые опции на экране редактирования.
 
- На вкладке Advanced Settings настройте продвинутые параметры, такие как кэширование и оптимизация запросов.
 - Нажмите Save Changes для сохранения изменений.
 
Шаг 3: Создание нового Custom Post Type (CPT)
Теперь создадим новый тип поста с использованием Pods:
- Перейдите в меню Pods Admin > Add New.
 - В поле Label введите название вашего нового типа поста, например, «Product».
 - В выпадающем списке Content Type выберите Custom Post Type.
 - Заполните остальные поля, такие как Singular Label и Plural Label.
 - Нажмите Next Step.
 - На следующем шаге добавьте необходимые поля для вашего нового типа поста. Например, создайте текстовое поле для описания продукта.
 - После добавления всех необходимых полей нажмите Save Pod.
 
Шаг 4: Добавление контента
Теперь вы можете добавлять контент в созданный вами Custom Post Type:
- Перейдите в меню Products (или любое другое название, которое вы выбрали для своего CPT).
 - Нажмите Add New.
 - Заполните все поля, которые вы создали ранее.
 - Нажмите Publish.
 
Шаг 5: Вывод контента на сайте
Чтобы вывести содержимое созданного вами CPT на сайте, воспользуйтесь следующими методами:
- Шорткод: Используйте шорткод [pods name=»product»], чтобы вывести информацию о продукте на странице или в записи.
 - PHP-код: Вставьте следующий код в файл темы, где хотите вывести информацию:
 
<?php
$pod = pods('product', $post->ID);
echo $pod->display('description');
?>
ID); echo $pod->display(‘description’); ?>
Этот код выведет описание продукта на странице.
В коде pods(‘product’, $post->ID) используется функция pods(), которая является частью фреймворка Pods для WordPress. Эта функция позволяет получить доступ к данным кастомных полей, созданных через Pods, связанных с определенным постом или объектом.
Аргументы функции:
- ‘product’ – это имя типа данных Pods (например, Custom Post Type), который вы хотите использовать.
 - $post->ID – идентификатор поста, данные которого нужно получить.
 
Свойства функции:
Функция возвращает объект, содержащий различные методы и свойства, относящиеся к выбранному типу данных и конкретному посту. Основные свойства и методы этого объекта могут включать:
- getfield($fieldname) – метод для получения значения конкретного поля. Например, pods(‘product’, $post->ID)->get_field(‘price’) вернет значение поля ‘price’.
 - display($fieldname)** – метод для отображения значения поля без необходимости вывода вручную.
 - save($data = array()) – метод для сохранения изменений в полях.
 - fields – массив всех полей, определенных для данного типа данных.
 - id – ID текущего объекта.
 - type – тип данных Pods.
 - data – массив всех данных объекта.
 - params – параметры, переданные при инициализации объекта.
 - **validfields – список валидных полей для данного типа данных.
 - currentpage** – текущая страница пагинации (если применимо).
 - **totalpages – общее количество страниц (если применимо).
 - foundposts** – количество найденных записей (если применимо).
 - **cachemode – режим кеширования данных.
 - lastquery** – последний выполненный SQL-запрос.
 - isnewitem – булево значение, показывающее, новый ли это элемент.
 - **itemid – ID элемента.
 - poddata** – данные пода.
 - **fielddata – данные поля.
 - where – условия WHERE для выборки данных.
 - orderby – порядок сортировки данных.
 - limit – ограничение количества возвращаемых записей.
 - offset – смещение от начала выборки.
 - groupby – группировка результатов.
 - having – условие HAVING для выборки данных.
 - select – столбцы для выборки.
 - join – JOIN-запросы для объединения таблиц.
 - distinct – флаг уникальности записей.
 - counttotalrows – флаг подсчета общего числа строк.
 - timeout – таймаут выполнения запроса.
 - transientcache** – использование кеша временных данных.
 - **objectcache – использование объектного кеша.
 - tableinfo** – информация о таблице базы данных.
 - action – текущее действие.
 - actions – доступные действия.
 - scope – область видимости данных.
 - component – компонент, к которому относится данный объект.
 - instance – экземпляр объекта.
 - options – опции конфигурации.
 - **metatype – тип метаданных.
 - inadmin** – находится ли пользователь в административной панели.
 - capability – права доступа.
 - **dosave – флаг сохранения данных.
 - error – сообщение об ошибке.
 - errors – массив ошибок.
 - messages – сообщения системы.
 - warnings – предупреждения.
 - info – информационное сообщение.
 - redirectto** – URL перенаправления после сохранения.
 - **outputtype – тип вывода данных.
 - sanitize – флаг очистки данных.
 - processfields** – флаг обработки полей.
 - adddefaultfields – добавление стандартных полей.
 - **showhidden – показывать скрытые поля.
 - fieldsbytype – поля, сгруппированные по типу.
 - fieldsbygroup – поля, сгруппированные по группе.
 - fieldsbycontext – поля, сгруппированные по контексту.
 - fieldsbypod – поля, сгруппированные по подам.
 - fieldsbycomponent – поля, сгруппированные по компонентам.
 - fieldsbyscope – поля, сгруппированные по области видимости.
 - fieldsbyaction – поля, сгруппированные по действиям.
 - fieldsbyinstance – поля, сгруппированные по экземплярам.
 - fields_by_error – поля, сгруппированные по сообщению об ошибке.
 - fields_by_errors – поля, сгруппированные по массиву ошибок.
 - fields_by_messages – поля, сгруппированные по системным сообщениям.
 - fields_by_warnings – поля, сгруппированные по предупреждениям.
 - fields_by_info – поля, сгруппированные по информационному сообщению.
 - fields_by_redirect_to – поля, сгруппированные по URL перенаправления после сохранения.
 - fields_by_output_type – поля, сгруппированные по типу вывода данных.
 - fields_by_sanitize – поля, сгруппированные по флагу очистки данных.
 - fields_by_process_fields – поля, сгруппированные по флагу обработки полей.
 - fields_by_add_default_fields – поля, сгруппированные по добавлению стандартных полей.
 - fields_by_show_hidden – поля, сгруппированные по показу скрытых полей.
 - fields_by_table_info – поля, сгруппированные по информации о таблице базы данных.
 - fields_by_in_admin – поля, сгруппированные по наличию в административной панели.
 - fields_by_transient_cache – поля, сгруппированные по использованию временного кеша.
 - fields_by_object_cache – поля, сгруппированные по использованию объектного кеша.
 - fields_by_count_total_rows – поля, сгруппированные по подсчету общего числа строк.
 - fields_by_timeout – поля, сгруппированные по таймауту выполнения запроса.
 - fields_by_distinct – поля, сгруппированные по флагу уникальности записей.
 - fields_by_having – поля, сгруппированные по условию HAVING.
 - fields_by_select – поля, сгруппированные по столбцам для выборки.
 - fields_by_join – поля, сгруппированные по JOIN-запросам.
 - fields_by_limit – поля, сгруппированные по ограничению количества возвращаемых записей.
 - fields_by_offset – поля, сгруппированные по смещению от начала выборки.
 - fields_by_groupby – поля, сгруппированные по группировке результатов.
 - fields_by_orderby – поля, сгруппированные по порядку сортировки данных.
 - fields_by_where – поля, сгруппированные по условиям WHERE.
 - fields_by_last_query – поля, сгруппированные по последнему выполненному SQL-запросу.
 - fields_by_is_new_item – поля, сгруппированные по новому элементу.
 - fields_by_item_id – поля, сгруппированные по ID элемента.
 - fields_by_pod_data – поля, сгруппированные по данным пода.
 - fields_by_field_data – поля, сгруппированные по данным поля.
 - fields_by_current_page – поля, сгруппированные по текущей странице пагинации.
 - fields_by_total_pages – поля, сгруппированные по общему количеству страниц.
 - fields_by_found_posts – поля, сгруппированные по количеству найденных записей.
 - fields_by_cache_mode – поля, сгруппированные по режиму кеширования данных.
 - fields_by_valid_fields – поля, сгруппированные по списку валидных полей.
 - fields_by_params – поля, сгруппированные по параметрам, переданным при инициализации объекта.
 - fields_by_data – поля, сгруппированные по данным объекта.
 - fields_by_type – поля, сгруппированные по типу данных Pods.
 - fields_by_id – поля, сгруппированные по ID текущего объекта.
 - fields_by_scope – поля, сгруппированные по области видимости данных.
 - fields_by_component – поля, сгруппированные по компоненту, к которому относится данный объект.
 - fields_by_instance – поля, сгруппированные по экземпляру объекта.
 - fields_by_options – поля, сгруппированные по опциям конфигурации.
 - fields_by_meta_type – поля, сгруппированные по типу метаданных.
 - fields_by_capability – поля, сгруппированные по правам доступа.
 - fields_by_do_save – поля, сгруппированные по флагу сохранения данных.
 - fields_by_error – поля, сгруппированные по сообщению об ошибке.
 - fields_by_add_default_fields – поля, сгруппированные по добавлению стандартных полей.
 - fields_by_show_hidden – поля, сгруппированные по показу скрытых полей.
 - fields_by_table_info – поля, сгруппированные по информации о таблице базы данных.
 - fields_by_in_admin – поля, сгруппированные по наличию в административной панели.
 - fields_by_transient_cache – поля, сгруппированные по использованию временного кеша.
 - fields_by_object_cache – поля, сгруппированные по использованию объектного кеша.
 - fields_by_count_total_rows – поля, сгруппированные по подсчету общего числа строк.
 - fields_by_timeout – поля, сгруппированные по таймауту выполнения запроса.
 - fields_by_distinct – поля, сгруппированные по флагу уникальности записей.
 - fields_by_having – поля, сгруппированные по условию HAVING.
 - fields_by_select – поля, сгруппированные по столбцам для выборки.
 - fields_by_join – поля, сгруппированные по JOIN-запросам.
 - fields_by_limit – поля, сгруппированные по ограничению количества возвращаемых записей.
 - fields_by_offset – поля, сгруппированные по смещению от начала выборки.
 - fields_by_groupby – поля, сгруппированные по группировке результатов.
 - fields_by_orderby – поля, сгруппированные по порядку сортировки данных.
 - fields_by_where – поля, сгруппированные по условиям WHERE.
 - fields_by_last_query – поля, сгруппированные по последнему выполненному SQL-запросу.
 - fields_by_is_new_item – поля, сгруппированные по новому элементу.
 - fields_by_item_id – поля, сгруппированные по ID элемента.
 - fields_by_pod_data – поля, сгруппированные по данным пода.
 - fields_by_field_data – поля, сгруппированные по данным поля.
 - fields_by_current_page – поля, сгруппированные по текущей странице пагинации.
 - fields_by_total_pages – поля, сгруппированные по общему количеству страниц.
 - fields_by_found_posts – поля, сгруппированные по количеству найденных записей.
 - fields_by_cache_mode – поля, сгруппированные по режиму кеширования данных.
 - fields_by_valid_fields – поля, сгруппированные по списку валидных полей.
 - fields_by_params – поля, сгруппированные по параметрам, переданным при инициализации объекта.
 - fields_by_data – поля, сгруппированные по данным объекта.
 - fields_by_type – поля, сгруппированные по типу данных Pods.
 - fields_by_id – поля, сгруппированные по ID текущего объекта.
 - fields_by_scope – поля, сгруппированные по области видимости данных.
 - fields_by_component – поля, сгруппированные по компоненту, к которому относится данный объект.
 - fields_by_instance – поля, сгруппированные по экземпляру объекта.
 - fields_by_options – поля, сгруппированные по опциям конфигурации.
 - fields_by_meta_type – поля, сгруппированные по типу метаданных.
 - fields_by_capability – поля, сгруппированные по правам доступа.
 - fields_by_do_save – поля, сгруппированные по флагу сохранения данных.
 - fields_by_error – поля, сгруппированные по сообщению об ошибке.
 - fields_by_errors – поля, сгруппированные по массиву ошибок.
 - fields_by_messages – поля, сгруппированные по системным сообщениям.
 - fields_by_warnings – поля, сгруппированные по предупреждениям.
 - fields_by_info – поля, сгруппированные по информационному сообщению.
 - fields_by_redirect_to – поля, сгруппированные по URL перенаправления после сохранения.
 - fields_by_output_type – поля, сгруппированные по типу вывода данных.
 - fields_by_sanitize – поля, сгруппированные по флагу очистки данных.
 - fields_by_process_fields – поля, сгруппированные по флагу обработки полей.
 - fields_by_add_default_fields – поля, сгруппированные по добавлению стандартных полей.
 - fields_by_show_hidden – поля, сгруппированные по показу скрытых полей.
 - fields_by_having – поля, сгруппированные по условию HAVING.
 - fields_by_select – поля, сгруппированные по столбцам для выборки.
 - fields_by_join – поля, сгруппированные по JOIN-запросам.
 - fields_by_limit – поля, сгруппированные по ограничению количества возвращаемых записей.
 - fields_by_offset – поля, сгруппированные по смещению от начала выборки.
 - fields_by_groupby – поля, сгруппированные по группировке результатов.
 - fields_by_orderby – поля, сгруппированные по порядку сортировки данных.
 - fields_by_where – поля, сгруппированные по условиям WHERE.
 - fields_by_last_query – поля, сгруппированные по последнему выполненному SQL-запросу.
 - fields_by_is_new_item – поля, сгруппированные по новому элементу.
 - fields_by_item_id – поля, сгруппированные по ID элемента.
 - fields_by_pod_data – поля, сгруппированные по данным пода.
 - fields_by_field_data – поля, сгруппированные по данным поля.
 - fields_by_current_page – поля, сгруппированные по текущей странице пагинации.
 - fields_by_total_pages – поля, сгруппированные по общему количеству страниц.
 - fields_by_found_posts – поля, сгруппированные по количеству найденных записей.
 - fields_by_cache_mode – поля, сгруппированные по режиму кеширования данных.
 - fields_by_valid_fields – поля, сгруппированные по списку валидных полей.
 - fields_by_params – поля, сгруппированные по параметрам, переданным при инициализации объекта.
 - fields_by_data – поля, сгруппированные по данным объекта.
 - fields_by_type – поля, сгруппированные по типу данных Pods.
 - fields_by_id – поля, сгруппированные по ID текущего объекта.
 - fields_by_scope – поля, сгруппированные по области видимости данных.
 - fields_by_component – поля, сгруппированные по компоненту, к которому относится данный объект.
 - fields_by_instance – поля, сгруппированные по экземпляру объекта.
 - fields_by_options – поля, сгруппированные по опциям конфигурации.
 - fields_by_meta_type – поля, сгруппированные по типу метаданных.
 - fields_by_capability – поля, сгруппированные по правам доступа.
 - fields_by_do_save – поля, сгруппированные по флагу сохранения данных.
 - fields_by_error – поля, сгруппированные по сообщению об ошибке.
 - fields_by_errors – поля, сгруппированные по массиву ошибок.
 - fields_by_messages – поля, сгруппированные по системным сообщениям.
 - fields_by_warnings – поля, сгруппированные по предупреждениям.
 - fields_by_info – поля, сгруппированные по информационному сообщению.
 - fields_by_redirect_to – поля, сгруппированные по URL перенаправления после сохранения.
 - fields_by_output_type – поля, сгруппированные по типу вывода данных.
 - fields_by_sanitize – поля, сгруппированные по флагу очистки данных.
 - fields_by_process_fields – поля, сгруппированные по флагу обработки полей.
 - fields_by_add_default_fields – поля, сгруппированные по добавлению стандартных полей.
 - fields_by_show_hidden – поля, сгруппированные по показу скрытых полей.
 - fields_by_table_info – поля, сгруппированные по информации о таблице базы данных.
 - fields_by_in_admin – поля, сгруппированные по наличию в административной панели.
 - fields_by_transient_cache – поля, сгруппированные по использованию временного кеша.
 - fields_by_object_cache – поля, сгруппированные по использованию объектного кеша.
 - fields_by_count_total_rows – поля, сгруппированные по подсчету общего числа строк.
 - fields_by_timeout – поля, сгруппированные по таймауту выполнения запроса.
 - fields_by_distinct – поля, сгруппированные по флагу уникальности записей.
 - fields_by_having – поля, сгруппированные по условию HAVING.
 - fields_by_select – поля, сгруппированные по столбцам для выборки.
 - fields_by_join – поля, сгруппированные по JOIN-запросам.
 
Заключение
На этом этапе вы уже должны уметь устанавливать, настраивать и использовать плагин Pods для создания собственных типов постов и полей. Этот инструмент открывает широкие возможности для кастомизации вашего WordPress-сайта и управления контентом.