WordPress(ワードプレス)で、記事を削除すると記事内にメディア追加(添付)した画像の全部を一緒に削除してくれる便利なコードをご紹介!コードをコピペしたら記事をゴミ箱へ→ゴミ箱からも削除するだけでとっても簡単です。
目次
WordPress│記事を削除するとメディア追加した画像も一緒に全削除
それではさっそく記事を削除すれば記事内に貼り付けている全部の画像を削除してくれるコードです。
事前準備
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
add_action( 'before_delete_post', 'nxw_delete_post_attachment' ); function nxw_delete_post_attachment( $post_id ) { $args = array( 'numberposts' => -1, 'post_parent' => $post_id, 'post_type' => 'attachment', 'post_status' => 'any', 'post_mime_type' => 'image' ); $attachments = get_children( $args ); foreach( $attachments as $attachment ) { wp_delete_attachment( $attachment->ID, true ); } } |
✅上記のコードを「外観」☞「テーマエディター」から「functions.php」内へペーストして下さい。
※ペーストしたら「ファイルを更新」することを忘れずに!
使い方
使い方はいたって簡単です。
✅削除したい記事に✔してゴミ箱へ移動しましょう。
※削除する記事にはこの画像が記事本文に添付してあります。
✅ゴミ箱へ移動した記事に再度✔して完全に削除するを実行しましょう。
✅すると記事内で使っていた画像は全て削除されます。
※ただし、このコードで画像を削除する上で2点注意して下さい。
- アイキャッチのみに使った画像は削除されません。
- 削除した記事以外でも共通して画像を使っていた場合、他の記事内に貼り付けた画像も削除されます。
①アイキャッチのみで使用していてる画像は削除されないため、アイキャッチで使う画像を記事内でも使っておけば削除されます。
よっていざ記事を削除するときのためにアイキャッチ画像を記事内でも使っておくことをオススメします。
②メディア自体から削除されるため、当然他の記事からも画像は削除されてします。他の記事でも同じ画像を使いまわしていないか十分確認してから削除して下さい。(※削除した画像は復元できません。)
さいごに
上記した2点に注意しておけばかなり便利なコードです。読まれない記事を定期的に削除、もしくはリライトするときなどにきっと役立ちますよ。
画像を削除せず記事のみ削除したい場合は、コードをパソコンのメモ帳やエクセルなどのどこかに保存しておいてコードを削除。そして記事を削除。またこのコードを使うときに改めてペーストするなど必要に応じて使い分けて下さい。
以上
WordPress│記事を削除するとメディア追加した画像も一緒に全削除のやり方
でした。
少しでも皆様のお役に立てれば幸いです。