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



お勧め

Login rebuilder 2.6.5の新機能紹介(2021年3月8日 更新)

今回追加したものは、管理者のダッシュボードに表示されるログウィジェットの日時について任意の書式を設定する機能である。これまで日時の書式はサイト設定を利用していたが、ログの日時については揃えた方が見やすいと思ったので、今回の機能で対応することにしました。

投稿ページにキーワード検索ウィジェットを追加する(2012年6月2日 更新)

「投稿の編集」ページで記事を編集していると、関連する投稿記事を検索したくなることがある。そんな時、「投稿一覧」ページに戻って「キーワード検索」を行えばいいのだが、そのひと手間がちょっとだけ煩わしい。

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 更新)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

3.8の「アクティビティ」ウィジェットに投稿以外の情報も表示する(2014年1月17日 更新)

ちょうど1月前の「ダッシュボードの「概要」にカスタム投稿タイプ件数を表示する」にて、WordPress 3.8新ダッシュボードの「概要」ウィジェットにカスタム投稿タイプの投稿数を表示する方法を紹介したが、今回のその続編で「アクティビティ」ウィジェットを拡張する方法を紹介する。

タイトルのみをキーワード検索する(2014年4月3日 更新)

WordPressのキーワード検索は、投稿タイトルと本文のどちらかに指定したキーワードが含まれているかを調べるわけだが、時々タイトルだけとか、逆に本文だけ検索したいケースがある。