WordPressの投稿を削除した時に紐付いている画像も削除する方法

WordPressの投稿を削除した時に紐付いている画像も削除する方法

WordPressの投稿を削除した時に紐付いている画像も削除する方法
  • シェアしてね♪
  • このエントリーをはてなブックマークに追加
  • follow us in feedly


  • 一式98,000円~の格安プランをご用意!Web制作お任せください!
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

WordPressでは、投稿を削除しても、投稿に使用した画像(アイキャッチ画像や投稿内に挿入した画像)までは削除されません。

投稿を削除すると紐付いている画像も削除されるようにする方法が、NxWorldさんで解説されていたのでご紹介いたします。

スポンサードリンク

WordPressの投稿を削除した時に紐付いている画像も削除する方法

functions.phpに以下のコードを追加することで、投稿を削除した際に紐付いている画像も削除されるようになります。

functions.php

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 );
  }
}

上記コードを追加して、ゴミ箱に入れた投稿で「完全に削除する」を実行すると、紐付いた画像も一緒に削除されます。

複数の投稿で同じ画像を使用していた場合でも、1つ投稿を削除すると画像も消えてしまうので注意が必要です。

あとがき

投稿がなくなれば使用していた画像も必要なくなることがほとんどなので、サーバー上にゴミを増やさないためにも、投稿と紐付いている画像が一緒に削除されるのは良いですね。

この記事が気に入ったら
いいね!してね♪

Twitter で
スポンサードリンク

関連記事

コメントを残す

メールアドレスが公開されることはありません。