WordPressカスタムタイプはどこに保存されますか?


20

カスタムタイプはどこに保存されますか?カスタムタイプが作成されると、wp_postsで、ポストタイプがに設定されるため<new_custom_post_type>です。しかし、新しいカスタム投稿タイプの詳細はどこに保存されますか?

回答:


14

私はついにカスタム投稿タイプのデータを見つけました。post_type =カスタム投稿タイプ(「製品」など)のwp_postテーブルに保存されます。フィールド(列)データは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呼び出しを介したリクエストごとに実行時にロードされます。


うーん、わかりました、データベース内の情報を検索しようとしていたとき、それは表示されませんでした、ありがとう!
ヌール

1
それはまったく真実ではありません。
-Bainternet

3
これは、カスタム投稿タイプの定義には当てはまるかもしれませんが、カスタム投稿タイプの各インスタンスに関連付けられたデータがどこに保存されているかという問題には対処していません。
ボブジョーンズ14

@BobJonesの質問ではwp_postsテーブルについて言及しているので、投稿データが保存されている場所を知っていることはかなり明らかです。ただし、質問の解釈が異なる場合は、おそらく独自の回答を追加する必要があります。
ミロ14

7

この回答で@miloが言及したように

投稿タイプは実際にはデータベースに個別に保存されていませんが、それは言われています...

SQL経由

次のSQLクエリを使用して、保存されたすべてのPUBLIC投稿タイプを表示できます

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                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+

これはOPへのより良い答えです。THX。
-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 = "page"、
testiminials-> post_type = "testimonials"
など

このpost_typesに関する詳細情報を取得するには、「wp_postmeta」テーブルで入手できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.