説明
mixed wp_delete_attachment( [ int $postid = 0 [ , bool $force_delete = false ] ] )
メディア情報(投稿タイプ'attachment')とそのコメント、カスタムフィールド、添付ファイルなどの関連情報をまとめて削除する。
パラメータ
- $postidメディアIDを指定(省略時は0)。
- $force_delete完全に削除する場合はtrue、ゴミ箱に入れる場合はfalseを指定(省略時はfalse)。
返り値
削除操作できた場合はそのメディア情報を返す。メディア情報が見つからなかった場合はnull、削除操作できなかった場合はfalseを返す。
注意
メディア情報の削除は、1つはゴミ箱に入れるパターンと、完全に削除するの2パターンである。ゴミ箱に入れる場合は添付ファイルは削除されない。
一般の投稿情報と異なりメディア情報には添付ファイルがあるため、 wp_delete_post関数とは別にこの関数が用意されている。
使用例
- メディアIDが12のメディア情報を削除(ゴミ箱)する。<?php wp_delete_attachment( 12 ); ?>
- メディアIDが12のメディア情報を完全に削除する。<?php wp_delete_attachment( 12, true ); ?>
フィルター
[5.5.0]削除の前に'pre_delete_attachment'フィルターを呼び出す。パラメータ$deleteにはnullが、$postには削除対象の投稿オブジェクトが、$force_deleteには本関数が受け取った内容が格納されている。このフィルターの返り値がnull以外の場合は削除されない。$check = apply_filters( 'pre_delete_attachment', null, $post, $force_delete );
アクション
[2.0.0]削除の前('pre_delete_attachment'フィルターの後)に'delete_attachment'アクションを呼び出す。パラメータ$postidには本関数が受け取った内容が格納されている。[5.5.0]パラメータ$postが追加され、削除対象のメディア情報オブジェクトが格納されている。do_action( 'delete_attachment', $post_id, $post );
do_action( 'delete_post', $postid, $post );
do_action( 'deleted_post', $postid, $post );
ソースファイル
/wp-includes/post.php最終更新 : 2020年08月21日 15:05
関連
お勧め
Contact Form 7に確認フェーズを(2012年12月16日 更新)
Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。投稿一覧に独自リンクを追加する(2013年10月16日 更新)
管理者ページの「投稿一覧」や「固定ページ一覧」の各投稿記事はマウスポインタを移動すると、「編集」や「クイック編集」といったリンクが表示される。このリンクに独自のリンクを追加する方法を調べてみた。HTML編集モードに定型文ボタンを追加する(2011年6月1日 更新)
投稿編集ページにはビジュアル編集モードとHTML編集モードがあり、それらを拡張するプラグインも多数存在している。そういったプラグインを利用するのもいいのだが、仕組みを理解するのも悪くないはず。というわけで、ここではHTML編集モードのボタンの仕組みと定型文を挿入するボタンを追加する方法を紹介する。投稿日の検索が自由自在に(2015年3月7日 更新)
WordPress 3.7.0ではWP_Date_Queryクラスが追加され、WP_Queryクラス(もちろん query_posts関数でも)で利用できるようになった。このWP_Date_Queryにより、○年○月○日以前や以降の投稿情報を取得したり、○年○月○日から○年○月○日の範囲の投稿情報を取得したりといったことが、容易に行えるようになった。
プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)
バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。