Установка и настройка плагина Pods

Плагин Pods — мощный инструмент для расширения функционала WordPress, который позволяет создавать собственные типы постов, таксономии и настраиваемые поля. Вот пошаговая инструкция по установке и настройке Pods.

Шаг 1: Установка плагина

  1. Через админ-панель WordPress:
  • Войдите в административную панель WordPress.
  • Перейдите в меню Плагины > Добавить новый.
  • Введите в поисковую строку слово «Pods».
  • Найдите плагин «Pods – Custom Content Types and Fields» от автора «Pods Framework Project».
  • Нажмите кнопку Установить, затем Активировать.
  1. Ручная установка:
  • Загрузите архив плагина с официального сайта WordPress.org.
  • Разархивируйте файл.
  • Загрузите папку pods на ваш сервер через FTP в директорию /wp-content/plugins/.
  • Активируйте плагин в административной панели WordPress.

Шаг 2: Настройка основных параметров

После активации плагина выполните следующие шаги для настройки базовых параметров:

  1. Перейдите в меню Settings > Pods.
  2. На вкладке General Settings выберите нужные опции:
  • Enable Pods UI in Admin Bar: Включает интерфейс Pods в верхней панели администратора.
  • Disable REST API Support for Pods: Отключает поддержку REST API для Pods (если необходимо).
  • Hide Advanced Options on Edit Screen: Скрывает продвинутые опции на экране редактирования.
  1. На вкладке Advanced Settings настройте продвинутые параметры, такие как кэширование и оптимизация запросов.
  2. Нажмите Save Changes для сохранения изменений.

Шаг 3: Создание нового Custom Post Type (CPT)

Теперь создадим новый тип поста с использованием Pods:

  1. Перейдите в меню Pods Admin > Add New.
  2. В поле Label введите название вашего нового типа поста, например, «Product».
  3. В выпадающем списке Content Type выберите Custom Post Type.
  4. Заполните остальные поля, такие как Singular Label и Plural Label.
  5. Нажмите Next Step.
  6. На следующем шаге добавьте необходимые поля для вашего нового типа поста. Например, создайте текстовое поле для описания продукта.
  7. После добавления всех необходимых полей нажмите Save Pod.

Шаг 4: Добавление контента

Теперь вы можете добавлять контент в созданный вами Custom Post Type:

  1. Перейдите в меню Products (или любое другое название, которое вы выбрали для своего CPT).
  2. Нажмите Add New.
  3. Заполните все поля, которые вы создали ранее.
  4. Нажмите Publish.

Шаг 5: Вывод контента на сайте

Чтобы вывести содержимое созданного вами CPT на сайте, воспользуйтесь следующими методами:

  1. Шорткод: Используйте шорткод [pods name=»product»], чтобы вывести информацию о продукте на странице или в записи.
  2. PHP-код: Вставьте следующий код в файл темы, где хотите вывести информацию:
<?php
$pod = pods('product', $post->ID);
echo $pod->display('description');
?>

ID); echo $pod->display(‘description’); ?>

Этот код выведет описание продукта на странице.

В коде pods(‘product’, $post->ID) используется функция pods(), которая является частью фреймворка Pods для WordPress. Эта функция позволяет получить доступ к данным кастомных полей, созданных через Pods, связанных с определенным постом или объектом.

Аргументы функции:

  1. ‘product’ – это имя типа данных Pods (например, Custom Post Type), который вы хотите использовать.
  2. $post->ID – идентификатор поста, данные которого нужно получить.

Свойства функции:

Функция возвращает объект, содержащий различные методы и свойства, относящиеся к выбранному типу данных и конкретному посту. Основные свойства и методы этого объекта могут включать:

  1. getfield($fieldname) – метод для получения значения конкретного поля. Например, pods(‘product’, $post->ID)->get_field(‘price’) вернет значение поля ‘price’.
  2. display($fieldname)** – метод для отображения значения поля без необходимости вывода вручную.
  3. save($data = array()) – метод для сохранения изменений в полях.
  4. fields – массив всех полей, определенных для данного типа данных.
  5. id – ID текущего объекта.
  6. type – тип данных Pods.
  7. data – массив всех данных объекта.
  8. params – параметры, переданные при инициализации объекта.
  9. **validfields – список валидных полей для данного типа данных.
  10. currentpage** – текущая страница пагинации (если применимо).
  11. **totalpages – общее количество страниц (если применимо).
  12. foundposts** – количество найденных записей (если применимо).
  13. **cachemode – режим кеширования данных.
  14. lastquery** – последний выполненный SQL-запрос.
  15. isnewitem – булево значение, показывающее, новый ли это элемент.
  16. **itemid – ID элемента.
  17. poddata** – данные пода.
  18. **fielddata – данные поля.
  19. where – условия WHERE для выборки данных.
  20. orderby – порядок сортировки данных.
  21. limit – ограничение количества возвращаемых записей.
  22. offset – смещение от начала выборки.
  23. groupby – группировка результатов.
  24. having – условие HAVING для выборки данных.
  25. select – столбцы для выборки.
  26. join – JOIN-запросы для объединения таблиц.
  27. distinct – флаг уникальности записей.
  28. counttotalrows – флаг подсчета общего числа строк.
  29. timeout – таймаут выполнения запроса.
  30. transientcache** – использование кеша временных данных.
  31. **objectcache – использование объектного кеша.
  32. tableinfo** – информация о таблице базы данных.
  33. action – текущее действие.
  34. actions – доступные действия.
  35. scope – область видимости данных.
  36. component – компонент, к которому относится данный объект.
  37. instance – экземпляр объекта.
  38. options – опции конфигурации.
  39. **metatype – тип метаданных.
  40. inadmin** – находится ли пользователь в административной панели.
  41. capability – права доступа.
  42. **dosave – флаг сохранения данных.
  43. error – сообщение об ошибке.
  44. errors – массив ошибок.
  45. messages – сообщения системы.
  46. warnings – предупреждения.
  47. info – информационное сообщение.
  48. redirectto** – URL перенаправления после сохранения.
  49. **outputtype – тип вывода данных.
  50. sanitize – флаг очистки данных.
  51. processfields** – флаг обработки полей.
  52. adddefaultfields – добавление стандартных полей.
  53. **showhidden – показывать скрытые поля.
  54. fieldsbytype – поля, сгруппированные по типу.
  55. fieldsbygroup – поля, сгруппированные по группе.
  56. fieldsbycontext – поля, сгруппированные по контексту.
  57. fieldsbypod – поля, сгруппированные по подам.
  58. fieldsbycomponent – поля, сгруппированные по компонентам.
  59. fieldsbyscope – поля, сгруппированные по области видимости.
  60. fieldsbyaction – поля, сгруппированные по действиям.
  61. fieldsbyinstance – поля, сгруппированные по экземплярам.
  62. fields_by_error – поля, сгруппированные по сообщению об ошибке.
  63. fields_by_errors – поля, сгруппированные по массиву ошибок.
  64. fields_by_messages – поля, сгруппированные по системным сообщениям.
  65. fields_by_warnings – поля, сгруппированные по предупреждениям.
  66. fields_by_info – поля, сгруппированные по информационному сообщению.
  67. fields_by_redirect_to – поля, сгруппированные по URL перенаправления после сохранения.
  68. fields_by_output_type – поля, сгруппированные по типу вывода данных.
  69. fields_by_sanitize – поля, сгруппированные по флагу очистки данных.
  70. fields_by_process_fields – поля, сгруппированные по флагу обработки полей.
  71. fields_by_add_default_fields – поля, сгруппированные по добавлению стандартных полей.
  72. fields_by_show_hidden – поля, сгруппированные по показу скрытых полей.
  73. fields_by_table_info – поля, сгруппированные по информации о таблице базы данных.
  74. fields_by_in_admin – поля, сгруппированные по наличию в административной панели.
  75. fields_by_transient_cache – поля, сгруппированные по использованию временного кеша.
  76. fields_by_object_cache – поля, сгруппированные по использованию объектного кеша.
  77. fields_by_count_total_rows – поля, сгруппированные по подсчету общего числа строк.
  78. fields_by_timeout – поля, сгруппированные по таймауту выполнения запроса.
  79. fields_by_distinct – поля, сгруппированные по флагу уникальности записей.
  80. fields_by_having – поля, сгруппированные по условию HAVING.
  81. fields_by_select – поля, сгруппированные по столбцам для выборки.
  82. fields_by_join – поля, сгруппированные по JOIN-запросам.
  83. fields_by_limit – поля, сгруппированные по ограничению количества возвращаемых записей.
  84. fields_by_offset – поля, сгруппированные по смещению от начала выборки.
  85. fields_by_groupby – поля, сгруппированные по группировке результатов.
  86. fields_by_orderby – поля, сгруппированные по порядку сортировки данных.
  87. fields_by_where – поля, сгруппированные по условиям WHERE.
  88. fields_by_last_query – поля, сгруппированные по последнему выполненному SQL-запросу.
  89. fields_by_is_new_item – поля, сгруппированные по новому элементу.
  90. fields_by_item_id – поля, сгруппированные по ID элемента.
  91. fields_by_pod_data – поля, сгруппированные по данным пода.
  92. fields_by_field_data – поля, сгруппированные по данным поля.
  93. fields_by_current_page – поля, сгруппированные по текущей странице пагинации.
  94. fields_by_total_pages – поля, сгруппированные по общему количеству страниц.
  95. fields_by_found_posts – поля, сгруппированные по количеству найденных записей.
  96. fields_by_cache_mode – поля, сгруппированные по режиму кеширования данных.
  97. fields_by_valid_fields – поля, сгруппированные по списку валидных полей.
  98. fields_by_params – поля, сгруппированные по параметрам, переданным при инициализации объекта.
  99. fields_by_data – поля, сгруппированные по данным объекта.
  100. fields_by_type – поля, сгруппированные по типу данных Pods.
  101. fields_by_id – поля, сгруппированные по ID текущего объекта.
  102. fields_by_scope – поля, сгруппированные по области видимости данных.
  103. fields_by_component – поля, сгруппированные по компоненту, к которому относится данный объект.
  104. fields_by_instance – поля, сгруппированные по экземпляру объекта.
  105. fields_by_options – поля, сгруппированные по опциям конфигурации.
  106. fields_by_meta_type – поля, сгруппированные по типу метаданных.
  107. fields_by_capability – поля, сгруппированные по правам доступа.
  108. fields_by_do_save – поля, сгруппированные по флагу сохранения данных.
  109. fields_by_error – поля, сгруппированные по сообщению об ошибке.
  110. fields_by_add_default_fields – поля, сгруппированные по добавлению стандартных полей.
  111. fields_by_show_hidden – поля, сгруппированные по показу скрытых полей.
  112. fields_by_table_info – поля, сгруппированные по информации о таблице базы данных.
  113. fields_by_in_admin – поля, сгруппированные по наличию в административной панели.
  114. fields_by_transient_cache – поля, сгруппированные по использованию временного кеша.
  115. fields_by_object_cache – поля, сгруппированные по использованию объектного кеша.
  116. fields_by_count_total_rows – поля, сгруппированные по подсчету общего числа строк.
  117. fields_by_timeout – поля, сгруппированные по таймауту выполнения запроса.
  118. fields_by_distinct – поля, сгруппированные по флагу уникальности записей.
  119. fields_by_having – поля, сгруппированные по условию HAVING.
  120. fields_by_select – поля, сгруппированные по столбцам для выборки.
  121. fields_by_join – поля, сгруппированные по JOIN-запросам.
  122. fields_by_limit – поля, сгруппированные по ограничению количества возвращаемых записей.
  123. fields_by_offset – поля, сгруппированные по смещению от начала выборки.
  124. fields_by_groupby – поля, сгруппированные по группировке результатов.
  125. fields_by_orderby – поля, сгруппированные по порядку сортировки данных.
  126. fields_by_where – поля, сгруппированные по условиям WHERE.
  127. fields_by_last_query – поля, сгруппированные по последнему выполненному SQL-запросу.
  128. fields_by_is_new_item – поля, сгруппированные по новому элементу.
  129. fields_by_item_id – поля, сгруппированные по ID элемента.
  130. fields_by_pod_data – поля, сгруппированные по данным пода.
  131. fields_by_field_data – поля, сгруппированные по данным поля.
  132. fields_by_current_page – поля, сгруппированные по текущей странице пагинации.
  133. fields_by_total_pages – поля, сгруппированные по общему количеству страниц.
  134. fields_by_found_posts – поля, сгруппированные по количеству найденных записей.
  135. fields_by_cache_mode – поля, сгруппированные по режиму кеширования данных.
  136. fields_by_valid_fields – поля, сгруппированные по списку валидных полей.
  137. fields_by_params – поля, сгруппированные по параметрам, переданным при инициализации объекта.
  138. fields_by_data – поля, сгруппированные по данным объекта.
  139. fields_by_type – поля, сгруппированные по типу данных Pods.
  140. fields_by_id – поля, сгруппированные по ID текущего объекта.
  141. fields_by_scope – поля, сгруппированные по области видимости данных.
  142. fields_by_component – поля, сгруппированные по компоненту, к которому относится данный объект.
  143. fields_by_instance – поля, сгруппированные по экземпляру объекта.
  144. fields_by_options – поля, сгруппированные по опциям конфигурации.
  145. fields_by_meta_type – поля, сгруппированные по типу метаданных.
  146. fields_by_capability – поля, сгруппированные по правам доступа.
  147. fields_by_do_save – поля, сгруппированные по флагу сохранения данных.
  148. fields_by_error – поля, сгруппированные по сообщению об ошибке.
  149. fields_by_errors – поля, сгруппированные по массиву ошибок.
  150. fields_by_messages – поля, сгруппированные по системным сообщениям.
  151. fields_by_warnings – поля, сгруппированные по предупреждениям.
  152. fields_by_info – поля, сгруппированные по информационному сообщению.
  153. fields_by_redirect_to – поля, сгруппированные по URL перенаправления после сохранения.
  154. fields_by_output_type – поля, сгруппированные по типу вывода данных.
  155. fields_by_sanitize – поля, сгруппированные по флагу очистки данных.
  156. fields_by_process_fields – поля, сгруппированные по флагу обработки полей.
  157. fields_by_add_default_fields – поля, сгруппированные по добавлению стандартных полей.
  158. fields_by_show_hidden – поля, сгруппированные по показу скрытых полей.
  159. fields_by_having – поля, сгруппированные по условию HAVING.
  160. fields_by_select – поля, сгруппированные по столбцам для выборки.
  161. fields_by_join – поля, сгруппированные по JOIN-запросам.
  162. fields_by_limit – поля, сгруппированные по ограничению количества возвращаемых записей.
  163. fields_by_offset – поля, сгруппированные по смещению от начала выборки.
  164. fields_by_groupby – поля, сгруппированные по группировке результатов.
  165. fields_by_orderby – поля, сгруппированные по порядку сортировки данных.
  166. fields_by_where – поля, сгруппированные по условиям WHERE.
  167. fields_by_last_query – поля, сгруппированные по последнему выполненному SQL-запросу.
  168. fields_by_is_new_item – поля, сгруппированные по новому элементу.
  169. fields_by_item_id – поля, сгруппированные по ID элемента.
  170. fields_by_pod_data – поля, сгруппированные по данным пода.
  171. fields_by_field_data – поля, сгруппированные по данным поля.
  172. fields_by_current_page – поля, сгруппированные по текущей странице пагинации.
  173. fields_by_total_pages – поля, сгруппированные по общему количеству страниц.
  174. fields_by_found_posts – поля, сгруппированные по количеству найденных записей.
  175. fields_by_cache_mode – поля, сгруппированные по режиму кеширования данных.
  176. fields_by_valid_fields – поля, сгруппированные по списку валидных полей.
  177. fields_by_params – поля, сгруппированные по параметрам, переданным при инициализации объекта.
  178. fields_by_data – поля, сгруппированные по данным объекта.
  179. fields_by_type – поля, сгруппированные по типу данных Pods.
  180. fields_by_id – поля, сгруппированные по ID текущего объекта.
  181. fields_by_scope – поля, сгруппированные по области видимости данных.
  182. fields_by_component – поля, сгруппированные по компоненту, к которому относится данный объект.
  183. fields_by_instance – поля, сгруппированные по экземпляру объекта.
  184. fields_by_options – поля, сгруппированные по опциям конфигурации.
  185. fields_by_meta_type – поля, сгруппированные по типу метаданных.
  186. fields_by_capability – поля, сгруппированные по правам доступа.
  187. fields_by_do_save – поля, сгруппированные по флагу сохранения данных.
  188. fields_by_error – поля, сгруппированные по сообщению об ошибке.
  189. fields_by_errors – поля, сгруппированные по массиву ошибок.
  190. fields_by_messages – поля, сгруппированные по системным сообщениям.
  191. fields_by_warnings – поля, сгруппированные по предупреждениям.
  192. fields_by_info – поля, сгруппированные по информационному сообщению.
  193. fields_by_redirect_to – поля, сгруппированные по URL перенаправления после сохранения.
  194. fields_by_output_type – поля, сгруппированные по типу вывода данных.
  195. fields_by_sanitize – поля, сгруппированные по флагу очистки данных.
  196. fields_by_process_fields – поля, сгруппированные по флагу обработки полей.
  197. fields_by_add_default_fields – поля, сгруппированные по добавлению стандартных полей.
  198. fields_by_show_hidden – поля, сгруппированные по показу скрытых полей.
  199. fields_by_table_info – поля, сгруппированные по информации о таблице базы данных.
  200. fields_by_in_admin – поля, сгруппированные по наличию в административной панели.
  201. fields_by_transient_cache – поля, сгруппированные по использованию временного кеша.
  202. fields_by_object_cache – поля, сгруппированные по использованию объектного кеша.
  203. fields_by_count_total_rows – поля, сгруппированные по подсчету общего числа строк.
  204. fields_by_timeout – поля, сгруппированные по таймауту выполнения запроса.
  205. fields_by_distinct – поля, сгруппированные по флагу уникальности записей.
  206. fields_by_having – поля, сгруппированные по условию HAVING.
  207. fields_by_select – поля, сгруппированные по столбцам для выборки.
  208. fields_by_join – поля, сгруппированные по JOIN-запросам.

Заключение

На этом этапе вы уже должны уметь устанавливать, настраивать и использовать плагин Pods для создания собственных типов постов и полей. Этот инструмент открывает широкие возможности для кастомизации вашего WordPress-сайта и управления контентом.