概要
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」メタ情報を削除します。