- サイトデザイン工事中です。ご意見をお寄せください。
- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
関数リファレンス/delete post meta
提供:WordPress Codex 日本語版
< 関数リファレンス
この関数は、投稿から指定したキー(および値)を持つカスタムフィールドをすべて削除します。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_posts と post_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 関数の例も参照)
最新英語版: WordPress Codex » Function Reference/delete post meta (最新版との差分)