set_post_thumbnail()


WordPressのset_post_thumbnail()関数は、指定された投稿にアイキャッチ画像(サムネイル)を設定するために使用されます。この関数は、投稿IDとメディアファイルのIDを引数として受け取り、その投稿にアイキャッチ画像を関連付けます。

構文

set_post_thumbnail( int $post_id, int $thumbnail_id );

引数の説明:

  • $post_id(int) — アイキャッチ画像を設定する投稿のID。
  • $thumbnail_id(int) — アイキャッチ画像として設定するメディアファイルのID。

例1: 基本的なアイキャッチ画像の設定

この例では、投稿IDがget_the_ID()で取得され、メディアファイルIDがattachment_url_to_postid()で取得されます。

<?php set_post_thumbnail( get_the_ID(), attachment_url_to_postid( 'http://example.com/image.jpg' ) ); ?>

例2: 特定の投稿にアイキャッチ画像を設定

この例では、投稿IDが123で、メディアファイルIDが456の場合にアイキャッチ画像を設定します。

<?php set_post_thumbnail( 123, 456 ); ?>

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

カスタムクエリを使用して取得した投稿にアイキャッチ画像を設定します。

<?php $query = new WP_Query( array( 'post_type' => 'post' ) ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); set_post_thumbnail( get_the_ID(), attachment_url_to_postid( 'http://example.com/image.jpg' ) ); } } wp_reset_postdata(); ?>

例4: 複数の投稿に同じアイキャッチ画像を設定

この例では、複数の投稿に同じアイキャッチ画像を設定します。

<?php $posts = get_posts( array( 'numberposts' => 5 ) ); foreach ( $posts as $post ) { set_post_thumbnail( $post->ID, attachment_url_to_postid( 'http://example.com/image.jpg' ) ); } ?>

例5: アイキャッチ画像を削除

この例では、指定された投稿からアイキャッチ画像を削除します。

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

例6: アイキャッチ画像が設定されているか確認

この例では、投稿にアイキャッチ画像が設定されているかどうかを確認します。

<?php if ( has_post_thumbnail( get_the_ID() ) ) { echo 'アイキャッチ画像が設定されています。'; } else { echo 'アイキャッチ画像が設定されていません。'; } ?>

例7: アイキャッチ画像のURLを取得

この例では、投稿のアイキャッチ画像のURLを取得します。

<?php $thumbnail_url = get_the_post_thumbnail_url( get_the_ID(), 'full' ); echo $thumbnail_url; ?>

例8: アイキャッチ画像を表示

この例では、投稿のアイキャッチ画像を表示します。

<?php the_post_thumbnail( 'full' ); ?>

注意点

  • アイキャッチ画像を設定する前に、メディアファイルがアップロードされていることを確認してください。
  • 投稿IDやメディアファイルIDが正しいことを確認してください。
  • アイキャッチ画像を削除する場合は、delete_post_thumbnail()関数を使用してください。

関連機能: