wp_delete_post

説明

mixed wp_delete_post( [ int $postid = 0 [ , bool $force_delete = false ] ] )
投稿情報とそのコメント、カスタムフィールドなどの関連情報をまとめて削除する。

パラメータ

  • $postid
    投稿情報IDを指定(省略時は0)。
  • $force_delete
    完全に削除する場合はtrue、ゴミ箱に入れる場合はfalseを指定(省略時はfalse)。

返り値

削除操作できた場合はその投稿情報を返す。投稿情報が見つからなかった場合はnull、削除操作できなかった場合はfalseを返す。

注意

投稿情報の削除は、1つはゴミ箱に入れると(ゴミ箱に入れれる投稿情報は、投稿タイプが'post'または'page'のみ)、完全に削除するの2パターンである。

使用例

  • 投稿IDが10の投稿情報を削除(ゴミ箱)する。
    <?php wp_delete_post( 10 ); ?>
  • 投稿IDが10の投稿情報を完全に削除する。
    <?php wp_delete_post( 10, true ); ?>

フィルター

実行するフィルターはありません。

アクション

投稿情報を削除する直前(関連情報は削除済み)、delete_postアクションを実行する。
do_action( 'delete_post', $postid );
投稿情報を削除した直後、deleted_postアクションを実行する。
do_action( 'deleted_post', $postid );
本関数を終了する直前、after_delete_postアクションを実行する。
do_action( 'after_delete_post', $postid );

ソースファイル

/wp-includes/post.php

最終更新 : 2018年08月29日 17:16



お勧め

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

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

固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 更新)

固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。

もうquery_postsは呼ばない(2011年9月27日 更新)

トップページやカテゴリーページで標準の条件に少し手を加えた投稿情報を表示するケースがある。そんな時、テンプレートファイルの先頭で query_posts関数を呼び出して投稿情報を再抽出していたのだが、フィルター処理をうまく使えばquery_posts関数を呼び出さなくても大丈夫みたいだ。

使っていないか確認しないとね!(2017年11月18日 更新)

2003年に誕生したWordPress。その歴史の中には、廃止予定(deprecated)となっている関数がいくつも存在する。それらの関数をテーマやプラグインで使用するべきではないし、使用しているなら代替の関数に書き換えるべきである。ここでは3.24.9.0現在、廃止予定となっている関数をまとめて紹介する。

ホームディレクトリから過去のファイルを削除する(2013年1月27日 更新)

WordPressで構築したサイトのホームディレクトリには、現在使われていないファイルが残っている時がある。3.5.1もリリースされたことだし、これを機にホームディレクトリを整理整頓した。