delete_site_meta()


WordPressのdelete_site_meta()関数は、ネットワーク内のサイトに関連付けられたメタデータを削除するために使用されます。

構文

delete_site_meta( int $site_id, string $meta_key, mixed $meta_value = '' );

引数の説明:

  • $site_id (int) — メタデータを削除するサイトのID。
  • $meta_key (string) — 削除するメタデータのキー。
  • $meta_value (mixed) — 特定の値を指定して削除する場合に使用。

例1: 基本的なメタデータの削除

サイトIDとメタキーを指定してメタデータを削除します。

delete_site_meta( get_current_blog_id(), 'custom_meta' );

例2: 特定の値を持つメタデータの削除

メタキーと特定の値を指定してメタデータを削除します。

delete_site_meta( 2, 'custom_meta', 'old_value' );

例3: マルチサイト環境での使用

別のサイトのメタデータを削除します。

delete_site_meta( get_network()->site_id, 'network_meta' );

例4: 条件付きでメタデータを削除

特定の条件が満たされた場合にメタデータを削除します。

if ( get_site_meta( get_current_blog_id(), 'temp_data', true ) ) { delete_site_meta( get_current_blog_id(), 'temp_data' ); }

例5: ループ内でのメタデータ削除

複数のサイトのメタデータを一括削除します。

$sites = get_sites(); foreach ( $sites as $site ) { delete_site_meta( $site->blog_id, 'obsolete_meta' ); }

例6: プラグインのアンインストール時に使用

プラグインがアンインストールされるときにメタデータをクリーンアップします。

register_uninstall_hook( __FILE__, 'my_plugin_uninstall' ); function my_plugin_uninstall() { delete_site_meta( get_current_blog_id(), 'my_plugin_settings' ); }

例7: エラーハンドリング付き削除

削除操作の結果を確認します。

$deleted = delete_site_meta( 1, 'test_meta' ); if ( $deleted ) { error_log( 'メタデータ削除成功' ); }

注意点

  • サイトIDが存在しない場合、関数はfalseを返します。
  • メタキーが存在しない場合、何も起こりません。
  • マルチサイト環境でのみ使用可能です。

関連機能: