概要
delete_metadata関数は、WordPressにおけるメタ情報の値を削除するための関数です。この関数は、特定のオブジェクト(投稿、ユーザー、コメントなど)のメタ情報を操作する際に使用されます。具体的には、次のような機能を実装する際に多く用いられます。
- 投稿やユーザーの不要なカスタムフィールドを削除する。
- 特定の条件に基づいてメタ情報を一括で削除する。
- プラグインのデータクリーニングを行う。
- テスト環境でのデータリセットを実施する。
- システムのメンテナンス時にメタ情報の整理を行う。
- サーバー資源を節約するために未使用のメタ情報を削除する。
- 古いバージョンの情報をクリーンアップする。
- データベースの最適化を行う。
構文
delete_metadata( $meta_type, $object_id, $meta_key, $meta_value, $delete_all );
パラメータ
$meta_type(string) – メタデータタイプ(例: ‘post’, ‘user’, ‘comment’)。$object_id(int) – メタ情報を削除する対象のオブジェクトのID。$meta_key(string) – 対象のメタ情報キー。$meta_value(mixed) – (オプション)削除するメタ情報の値。$delete_all(bool) – (オプション)trueの場合、指定したキーに対するすべてのメタ情報を削除。
戻り値
- 成功した場合はtrue、失敗した場合はfalseを返します。
関連する関数
使用可能なバージョン
delete_metadata関数は、全てのWordPressバージョンで使用可能です。
コアファイルのパス
wp-includes/meta.php
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | 〇 |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | 〇 |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | 〇 |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
-
特定のユーザーのメタ情報を削除する
$user_id = 1; $meta_key = 'favorite_color'; delete_metadata('user', $user_id, $meta_key);このコードは、ユーザーIDが1のユーザーから「favorite_color」というメタ情報を削除します。
-
投稿のカスタムフィールドを削除する
$post_id = 123; $meta_key = 'custom_field'; delete_metadata('post', $post_id, $meta_key);このコードは、投稿IDが123のカスタムフィールド「custom_field」を削除します。
-
特定のコメントからメタ情報を削除する
$comment_id = 456; $meta_key = 'comment_meta'; delete_metadata('comment', $comment_id, $meta_key);このコードは、コメントIDが456のコメントに関連する「comment_meta」のメタ情報を削除します。
-
すべての値を削除する
$post_id = 789; $meta_key = 'custom_field'; delete_metadata('post', $post_id, $meta_key, '', true);このコードは、投稿IDが789のすべての「custom_field」メタ情報を削除します。
-
プラグインでのメタ情報削除例
function custom_plugin_cleanup() { delete_metadata('user', 10, 'old_meta_key'); } add_action('plugins_loaded', 'custom_plugin_cleanup');このコードは、プラグインが読み込まれるときに、ユーザーIDが10の「old_meta_key」メタ情報を削除します。