• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

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

提供: WordPress Codex 日本語版
< 関数リファレンス
2010年4月22日 (木) 22:16時点におけるKz (トーク | 投稿記録)による版 (全体を和訳)

移動先: 案内検索

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

使い方

<?php delete_post_meta( $post_id, $key, $value ); ?> 

パラメータ

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

用例

デフォルトの使い方

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

その他の例

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

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

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

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

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

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

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

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

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

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

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

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


カスタムフィールド: 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最新版との差分