wp_trash_post

説明

mixed wp_trash_post( [ int $post_id = 0 ] )
投稿情報をゴミ箱に入れる。

パラメータ

  • $post_id
    投稿情報IDを指定(省略時は0)。

返り値

ゴミ箱に入れた場合はその投稿情報を返す。投稿情報が見つからなかった場合はnull、すでにゴミ箱に入っている場合はfalseを返す。

注意

EMPTY_TRASH_DAYS(デフォルトは30)が0の場合、ゴミ箱には入れず、 wp_delete_post関数を呼び出して投稿情報を削除する。

[4.9.0]'pre_trash_post'フィルターが追加され、このフィルターにより実際にゴミ箱に入れるかどうかをコントロールできるようになった。

[6.3.0]'pre_trash_post'フィルター、'wp_trash_post'アクションのコールバック関数向けのパラメータに$previous_statusが追加された。その中にはゴミ箱に入れる前のステータスが格納されている。


使用例

  • 投稿IDが10の投稿情報をゴミ箱に入れる。
    <?php wp_trash_post( 10 ); ?>

フィルター

[4.9.0]投稿情報のステータスが'trash'なことを確認した後('wp_trash_post'アクションの前)、'pre_trash_post'フィルターを呼び出す。パラメータ$checkの既定値はnull(処理を継続する場合はnullを返す)が、$postには投稿情報が格納されている。[6.3.0]パラメータ$previous_statusが追加され、ゴミ箱に入れる前のステータスが格納されている。
$check = apply_filters( 'pre_trash_post', $check, $post, $previous_status );
if ( null !== $check ) {
	return $check;
}

アクション

[2.9.0]ゴミ箱に入れる前、wp_trash_postアクションを実行する。パラメータ$post_idには本関数が受け取った内容が格納されている。[6.3.0]パラメータ$previous_statusが追加され、ゴミ箱に入れる前のステータスが格納されている。
do_action( 'wp_trash_post', $post_id, $previous_status );
[2.9.0]ゴミ箱に入れた後、trashed_postアクションを実行する。
do_action( 'trashed_post', $post_id );

ソースファイル

/wp-includes/post.php

最終更新 : 2023年08月10日 15:16



お勧め

Login rebuilder:プラグイン作ってみました(2024年11月7日 更新)

昨年投稿した「ログインページを変える」をプラグイン化。ログインページを独自の名前のページ変更し、標準のログインページwp-login.phpを使用できないようにするプラグインです。部外者によるwp-login.phpのアクセスにお悩みの方にお勧めします。また2.0.0では「XML-RPCリクエストの管理機能」を追加。2.2.0では管理者のログイン時にメールで通知する機能を追加しました。

管理画面の'アイキャッチ画像'を'写真'に変える(2013年1月23日 更新)

クライアント向けに専用のテーマを提供する際、稀に管理画面内の用語の変更を依頼されることがある。今回は、'アイキャッチ画像'だとわかりにくいので'写真'に変えてほしいということだった。

カスタムフィールド関連関数のおさらい(2012年6月22日 更新)

カスタムフィールドは、投稿記事の拡張情報としてよく利用されている。投稿ページで登録した情報をアーカイブや投稿ページで表示しているが、投稿ページを表示する際にカスタムフィールドの値を更新して、サイドバーのようなページ内要素に利用したりしている。

5.3への準備:投稿写真を使っているサイトは準備しておこう(2019年10月10日 更新)

この記事は先日公開した「5.3の新機能:JPEG画像の向きを調整」の続きのようなものになる。高解像度の投稿写真を扱っているサイトは、5.3のリリースに合わせて対応を検討しておくべきことをまとめてみた。

ブロックエディターで現在の「ロケール」を取得した時のメモ(2024年8月10日 更新)

ブロックエディター向けのプラグインで日本語固有の機能を実装する際、現在のロケール(言語)を取得したい。ブロックエディターの編集時、投稿を編集しているユーザーの言語が優先され、それをどうやって取得するかを「ChatGPT」に聞いてみたのだが。。。