Де зберігаються користувацькі типи wordpress?


20

Де зберігаються спеціальні типи? Тому що коли створено спеціальний тип, у wp_posts тип публікації встановлюється на <new_custom_post_type>. Але де зберігаються реквізити нового спеціального типу публікації ??

Відповіді:


14

Нарешті я знайшов дані про користувацькі типи публікацій. Він зберігається в таблиці wp_post, де post_type = користувацький тип публікації (наприклад, "товари"). Дані поля (стовпця) зберігаються у wp_postmeta, де meta_key - ім'я стовпця, а meta_value - значення стовпця.

Цей запит поверне всі дані, пов’язані зі спеціальним повідомленням типу "товари":

SELECT P.ID, P.post_title, M.meta_key, M.meta_value
FROM wp_posts AS P
INNER JOIN wp_postmeta AS M ON M.post_id = P.ID
WHERE P.post_type = 'products' and P.post_status = 'publish'
ORDER BY post_title, meta_key

12

Дані про спеціальні типи публікацій не зберігаються ніде, вони завантажуються під час виконання кожного запиту за допомогою register_post_typeдзвінків.


хммм, добре, ось так, коли я намагався шукати інформацію в базі даних, не бачив їх, дякую!
Noor

1
Це зовсім не так.
Бейнтернет

3
Це може стосуватися визначення типу користувальницької пошти, але це не стосується питання, де зберігаються дані, пов’язані з кожним екземпляром спеціального типу публікації.
Боб Джонс

@BobJones питання згадує wp_postsтаблицю, тому, здається, цілком зрозуміло, що вони знають, де зберігаються дані публікації. але якщо у вас інше тлумачення питання, то, можливо, вам слід додати власну відповідь.
Міло

7

Як згадував @milo у цій відповіді

Типи публікацій насправді не зберігаються окремо в базі даних, однак, як було сказано ...

через SQL

ви можете переглянути всі збережені типи публікацій PUBLIC, використовуючи наступний запит sql

SELECT DISTINCT( post_type ) FROM wp_posts;

Що виведе щось подібне до:

+----------------------+
| post_type            |
+----------------------+
| attachment           |
| competition          |
| custom_css           |
| customize_changeset  |
| deprecated_log       |
| experts              |
| magazine             |
| nav_menu_item        |
| page                 |
| post                 |
| revision             |
+----------------------+

через WP CLI

Крім того, якщо у вас є доступ до wp cli , ви можете запустити:

wp post-type list

Що виведе щось подібне:

 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | name                | label                 | description  | hierarchical | public | capability_type     |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
 | post                | Posts                 |              |              | 1      | post                |
 | page                | Pages                 |              | 1            | 1      | page                |
 | attachment          | Media                 |              |              | 1      | post                |
 | revision            | Revisions             |              |              |        | post                |
 | nav_menu_item       | Navigation Menu Items |              |              |        | post                |
 | custom_css          | Custom CSS            |              |              |        | post                |
 | customize_changeset | Changesets            |              |              |        | customize_changeset |
 | deprecated_log      | Deprecated Calls      |              |              |        | post                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+

Це краща відповідь на ОП. Дякую.
MarsAndBack

4

Ви можете використовувати цю функцію get_post_typesдля отримання інформації про будь-які та всі типи публікацій, які активні на той час. Щоб отримати інформацію про певний тип публікації, використовуйте get_post_type_object.


3
+1 - щоб зробити типи публікацій, що повертаються, get_post_typesлише з призначених для користувача параметрів, _builtinможна встановити параметрfalse
Nicolai

1

WordPress за замовчуванням постачається з деякими типовими типами публікацій, такими як сторінки, повідомлення тощо. Wordpress також надає можливість створювати власні власні типи публікацій. Обидва публікації за замовчуванням та користувацькі записи зберігаються в одній таблиці "wp_posts" шляхом диференціювання всіх типів повідомлень на основі стовпця "post_type" у таблиці "wp_posts".

Напр .:
сторінки -> post_type = "сторінка",
відгуки -> post_type = "відгуки"
тощо

Щоб отримати додаткову інформацію про цей пост_тип, який буде доступний у таблиці "wp_postmeta".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.