当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

関数リファレンス/delete post meta

提供: WordPress Codex 日本語版
< 関数リファレンス
2015年7月22日 (水) 11:21時点におけるMiccweb (トーク | 投稿記録)による版 (最新版のマージ)

移動先: 案内検索

この関数は、投稿から指定したキー(もしくはキーと値)を持つカスタムフィールドをすべて削除します。update_post_meta(), get_post_meta(), add_post_meta() も見てください。

使い方

<?php delete_post_meta($post_id, $meta_key, $meta_value); ?>

パラメータ

$post_id
整数) (必須) 削除したいカスタムフィールドを持つ投稿の ID。
初期値: なし
$meta_key
文字列) (必須) 削除したいカスタムフィールドのキー。
初期値: なし
$meta_value
mixed) (オプション) 削除したいカスタムフィールドの値。これは、同じキーを持つカスタムフィールドを区別するパラメータです。省略すると、指定したキーを持つカスタムフィールドはすべて削除されます。
初期値: Empty

戻り値

(boolean) 
失敗なら False 、成功なら Trueを返す。


用例

デフォルトの使い方

<?php delete_post_meta( 76, 'my_key', 'Steve' ); ?>

その他の例

投稿にカスタムフィールドを追加するプラグインを例に考えます。追加するカスタムフィールドは related_postspost_inspiration とし、プラグインがアンインストールされるときには、これらのカスタムフィールドを削除するとします。

指定したキーを持つカスタムフィールドをすべて削除するため、以下のコードを uninstall 関数に追加します:

<?php delete_post_meta_by_key( 'related_posts' ); ?>

キーが post_inspiration で値が Sherlock Holmes 以外のカスタムフィールドを削除する場合:

<?php
  $allposts = get_posts( 'numberposts=-1&post_type=post&post_status=any' );

  foreach( $allposts as $postinfo ) {
    delete_post_meta( $postinfo->ID, 'related_posts' );
    $inspiration = get_post_meta( $postinfo->ID, 'post_inspiration' );
    foreach( $inspiration as $value ) {
      if( 'Sherlock Holmes' !== $value )
        delete_post_meta( $postinfo->ID, 'post_inspiration', $value );
    }
  }
?>

ID が185の投稿が削除されたので、その投稿を参照している related_posts キーを持つカスタムフィールドを削除する場合:

<?php
  $allposts = get_posts( 'numberposts=-1&post_type=post&post_status=any' );

  foreach( $allposts as $postinfo ) {
    delete_post_meta( $postinfo->ID, 'related_posts', '185' );
  }
?>

さらに詳しい例は post meta 関数の例を見てください。

注: Unlike update_post_meta(), この関数は、条件に一致するすべてのカスタムフィールドを削除します。


ソースファイル

delete_post_meta()wp-includes/post.phpにあります。

更新履歴

新規導入: 1.5.0


カスタムフィールド: the_meta(), get_post_meta(), add_post_meta(), update_post_meta(), delete_post_meta(), get_post_custom(), get_post_custom_values(), get_post_custom_keys() (post_meta 関数の例 /en も参照)


関数リファレンステンプレートタグ目次もご覧ください。

最新英語版: WordPress Codex » Function Reference/delete post meta最新版との差分