web-dev-qa-db-ja.com

ワードプレスのカスタムタイプはどこに保存されていますか?

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

20
Noor

私はついにカスタム投稿タイプデータを見つけました。これはwp_postテーブルに格納されます。ここで、post_type =カスタム投稿タイプ(例: "products")です。フィールド(列)データはwp_postmetaに保管されます。ここで、meta_keyは列名、meta_valueは列値です。

このクエリは、カスタム投稿タイプ "products"に関連付けられているすべてのデータを返します。

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
13
Bob Jones

カスタム投稿タイプの詳細はどこにも保存されず、 register_post_type 呼び出しを介して各リクエストで実行時にロードされます。

12
Milo

この回答では@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                |
 +---------------------+-----------------------+--------------+--------------+--------+---------------------+
5
Craig Wayne

その時点で有効なすべての投稿タイプに関する情報を取得するには、関数 get_post_types を使用します。特定の投稿タイプに関する情報を取得するには、 get_post_type_object を使用します。

4
Manny Fleurmond

WordPressのデフォルトには、ページ、投稿などのようないくつかのサンプル投稿タイプが付属しています。Wordpressでは、独自のカスタム投稿タイプも作成することができます。 "wp_posts"テーブルの "post_type"列に基づいてすべての投稿タイプを区別することで、デフォルト投稿とカスタム投稿の両方が単一のテーブル "wp_posts"に格納されます。

例えば:
pages - > post_type = "page"、
紹介文 - > post_type = "紹介文"

この "post_type"についての詳細な情報を入手するには、 "wp_postmeta"テーブルで利用可能になります。

1
Raj