wp_delete_attachment

説明

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 );
[2.2.0]メディア情報を削除する直前(関連情報は削除済み)、'delete_post'アクションを呼び出す。パラメータ$postidには本関数が受け取った内容が格納されている。[5.5.0]パラメータ$postが追加され、削除対象の投稿オブジェクトが格納されている。
do_action( 'delete_post', $postid, $post );
[2.2.0]メディア情報を削除した直後(添付ファイルの削除前)、'deleted_post'アクションを呼び出す。パラメータ$postidには本関数が受け取った内容が格納されている。[5.5.0]パラメータ$postが追加され、削除対象の投稿オブジェクトが格納されている。
do_action( 'deleted_post', $postid, $post );

ソースファイル

/wp-includes/post.php

最終更新 : 2020年08月21日 15:05



お勧め

edit_custom_thumbnail_sizesフィルターを使ってみた(2022年5月30日 更新)

アップロード済みの画像は、トリミングや回転、反転といった編集が可能である。6.0.0で追加されたedit_custom_thumbnail_sizesフィルターは、編集された内容を反映させるサイズを拡張するものだったので、さっそく使ってみた。

WordPressと組み込まれている主なJavaScriptライブラリのバージョン一覧(2018年5月27日 更新)

WordPressの更新が遅れていたサイトを少し前に更新したところ、jQuery UI sortableを使って拡張したページに不具合が発生しました。WordPressの更新に伴って内部のjQuery UIが更新されたことに起因すると思われ、これを機にWordPressとそれに組み込まれたJavaScriptライブラリのバージョンを確認してみました。

投稿日の検索が自由自在に(2015年3月7日 更新)

WordPress 3.7.0ではWP_Date_Queryクラスが追加され、WP_Queryクラス(もちろん query_posts関数でも)で利用できるようになった。このWP_Date_Queryにより、○年○月○日以前や以降の投稿情報を取得したり、○年○月○日から○年○月○日の範囲の投稿情報を取得したりといったことが、容易に行えるようになった。

新テーマ「Twenty Twenty-Three」にはfunctions.phpがない(2022年10月6日 更新)

WordPress 6.1に同梱された新テーマ「Twenty Twenty-Three」を見てみると、そこには見慣れたfunctions.phpがない。Full Site Editing(FSE)対応テーマってこんな感じなのかと思いつつ、テーマの設定がどうなっているのか調べてみた。

WordPressのコーディングスタンダードとPSR-2がかみ合わない(2018年5月27日 更新)

先日パソコンのストレージを換装して開発環境を再構築。エディタのEclipseは「Neon(4.6)」から「Oxygen(4.7)」へ切り替わった。コードを書き始めるとそこはかとなく違和感があり、調べていくとPHPの「Code Style(Formatter)」が「PSR-2」に設定されていることが原因だった。