WordPress wp_postmetaテーブルの中身を見てみよう

WordPressのカスタムフィールドの値を保存するテーブルとしておなじみのwp_postmetaテーブルだが、設定した覚えのないキーの意味をまとめてみました。

アンダースコアから始まるmeta_key

wp_postmetaテーブルにはアンダースコアから始まるmeta_keyが存在する。アンダースコアはユーザーに見せたくない内部用のデータを管理・保存するための目印として機能している。

編集画面からアンダースコアからはじまるメタキーは登録できないようだ。

_wp_page_template

_wp_page_templateキーは各投稿に適用しているテンプレートの種類が保存されている。

meta_id | post_id | meta_key          | meta_value
1       | 2       | _wp_page_template | default
2       | 3       | _wp_page_template | default
3       | 4       | _wp_page_template | page-no-title

上記の場合、投稿IDが2と3はデフォルトテンプレート、投稿IDが4はpage-no-titleという名称のテンプレートが適用されている。

_edit_lock / _edit_last

_edit_lock_edit_last キーは、エディターの同時編集を制御している。ユーザーが編集画面から離脱すると自動的に削除されるが、残ってしまった場合は削除して問題ない。

meta_id | post_id | meta_key   | meta_value
10      | 20      | _edit_lock | 1745844807:1
11      | 20      | _edit_last | 1

上記の場合、_edit_lockから投稿IDが20の記事について、UNIX時間で1745844807(2025年04月28日 21:53:27)にユーザーID1が編集を開始したことがわかる。また編集画面に何らかの文字が入力されると_edit_last行が生成され、現在編集中のユーザーIDがキーとして保存される。UNIX時間は編集画面の更新などが行われると最新化される。

_wp_trash_meta_status / _wp_trash_meta_time / _wp_desired_post_slug

_wp_trash_meta_status_wp_trash_meta_time_wp_desired_post_slugはゴミ箱へ移動した投稿を管理している。そのため、ゴミ箱から完全に削除するか、復元することでこの3行は削除される。

meta_id | post_id | meta_key              | meta_value
5       | 20      | _wp_trash_meta_status | draft
6       | 20      | _wp_trash_meta_time   | 1745151775
7       | 20      | _wp_desired_post_slug | sample-title

上記の場合、下書き、ゴミ箱へ移動したUNIX時間、投稿のタイトルが表現されている。

is_wp_suggestion

ブロックテンプレート関係のキーのようだ。

meta_id | post_id | meta_key         | meta_value
5       | 20      | is_wp_suggestion | 1

_pingme / _encloseme

pingmeは、投稿が公開されたときに ping を送るべきかどうか を示す内部フラグのことらしい。投稿が初めて公開されるときに pingme が 1 になっていれば、WordPress は ping を送る処理を準備する。

meta_id | post_id | meta_key | meta_value
5       | 20      | _pingme  | 1

enclosemeは、投稿にメディアがあり、それを RSS フィードの に追加すべきかどうかを示す内部フラグっらしい。

meta_id | post_id | meta_key    | meta_value
5       | 20      | _encloseme  | 1

\wp-includes\post.php 7927行目

if ( get_option( 'default_pingback_flag' ) ) {
	add_post_meta( $post_id, '_pingme', '1', true );
}

footnotes

ブロックエディタの脚注ブロックのデータ保存に使用されるメタデータ。wp_postmetaに保存されるため、サイト内検索からは除外される。

meta_id | post_id | meta_key  | meta_value
5       | 20      | footnotes | [{"content":"詳しく説明するよ","id":"39f89eb7-bc9a-4bb0-9e26-07ff5c9b2646"}]

wp_posts

<!-- wp:paragraph -->
<p>これは説明<sup data-fn="39f89eb7-bc9a-4bb0-9e26-07ff5c9b2646" class="fn"><a href="#39f89eb7-bc9a-4bb0-9e26-07ff5c9b2646" id="39f89eb7-bc9a-4bb0-9e26-07ff5c9b2646-link">1</a></sup>が必要です!</p>
<!-- /wp:paragraph -->

<!-- wp:footnotes {"fontSize":"small"} /-->