delete_post_thumbnail()


WordPressのdelete_post_thumbnail()関数は、指定した投稿のアイキャッチ画像を削除するために使用されます。この関数は、投稿のアイキャッチ画像をデータベースから削除しますが、メディアライブラリから画像ファイル自体を削除するわけではありません。

構文

delete_post_thumbnail( int|WP_Post $post );
  • $post(int|WP_Post) — アイキャッチ画像を削除する投稿のIDまたはWP_Postオブジェクト。

例1: 現在の投稿のアイキャッチ画像を削除

現在表示されている投稿のアイキャッチ画像を削除します。

<?php delete_post_thumbnail(get_the_ID()); ?>

例2: 特定の投稿IDのアイキャッチ画像を削除

投稿IDが123のアイキャッチ画像を削除します。

<?php delete_post_thumbnail(123); ?>

例3: カスタムクエリで取得した投稿のアイキャッチ画像を削除

カスタムクエリで取得した投稿のアイキャッチ画像を削除します。

<?php $query = new WP_Query(array('post_type' => 'post')); while ($query->have_posts()) { $query->the_post(); delete_post_thumbnail(get_the_ID()); } ?>

例4: 特定の投稿タイプのアイキャッチ画像を削除

「book」というカスタム投稿タイプのすべての投稿のアイキャッチ画像を削除します。

<?php $books = get_posts(array('post_type' => 'book', 'numberposts' => -1)); foreach ($books as $book) { delete_post_thumbnail($book->ID); } ?>

例5: アイキャッチ画像を削除した後にメッセージを表示

アイキャッチ画像を削除した後に、メッセージを表示します。

<?php if (delete_post_thumbnail(get_the_ID())) { echo 'アイキャッチ画像を削除しました。'; } else { echo 'アイキャッチ画像は存在しませんでした。'; } ?>

例6: 複数の投稿のアイキャッチ画像を一括削除

複数の投稿のアイキャッチ画像を一括で削除します。

<?php $posts = get_posts(array('numberposts' => -1)); foreach ($posts as $post) { delete_post_thumbnail($post->ID); } ?>

例7: 特定のカテゴリーの投稿のアイキャッチ画像を削除

カテゴリーIDが5の投稿のアイキャッチ画像を削除します。

<?php $posts = get_posts(array('category' => 5, 'numberposts' => -1)); foreach ($posts as $post) { delete_post_thumbnail($post->ID); } ?>

例8: アイキャッチ画像を削除する前に確認を行う

アイキャッチ画像を削除する前に、確認を行います。

<?php if (isset($_GET['delete_thumbnail']) && $_GET['delete_thumbnail'] == 'true') { delete_post_thumbnail(get_the_ID()); echo 'アイキャッチ画像を削除しました。'; } else { echo '<a href="?delete_thumbnail=true">アイキャッチ画像を削除する</a>'; } ?>

注意点

  • この関数はデータベースからアイキャッチ画像の情報を削除しますが、メディアライブラリから画像ファイル自体は削除しません。
  • 誤って重要なアイキャッチ画像を削除しないように、バックアップを取ることを推奨します。

関連機能: