説明
set_post_thumbnail() は、投稿のアイキャッチ画像を設定する関数です。
基本構文
set_post_thumbnail( int|WP_Post $post, int $thumbnail_id ): int|bool
引数
$post:投稿IDまたはオブジェクト$thumbnail_id:添付ファイルのID
戻り値
設定できたらメタID(または true)。
使い方(サンプル)
set_post_thumbnail( 123, 45 );
注意点
- 同じ値を再設定した場合は
falseが返ります。 - 削除は
delete_post_thumbnail()。
実務での使いどころ
- アイキャッチ画像を、プログラムから設定するとき。
- インポートや、フォームからの投稿で、アイキャッチ画像を付けるとき。
よくあるミスと対処
- 存在しないメディアのIDを渡し、
falseが返る。 - 添付画像として扱えないIDを渡すと、既存のアイキャッチ画像が、削除される場合がある。IDの種類を、確認してから渡す。
- 投稿のIDと、メディアのIDを取り違える。第2引数は、メディア(添付ファイル)のID。
- 戻り値を、確認していない。
NG例
set_post_thumbnail( $post_id, $post_id ); // 第2引数が、投稿のID
OK例
if ( ! set_post_thumbnail( $post_id, $attachment_id ) ) {
// 設定できなかった
}
使い分け早見表
| 関数 | 役割 |
|---|---|
set_post_thumbnail() |
アイキャッチ画像を設定する |
get_post_thumbnail_id() |
アイキャッチ画像のIDを取得する |
has_post_thumbnail() |
アイキャッチ画像があるか判定する |
関連項目
has_post_thumbnail()、get_post_thumbnail_id()
公式リファレンス:set_post_thumbnail() | Function | WordPress Developer Resources

コメント