WordPress投稿にアイキャッチ画像を関数で設定する
アイキャッチ画像を設定するset_post_thumbnail()関数
WordPressの投稿にアイキャッチ画像をPHP関数を使って設定したい場合はset_post_thumbnail関数を使います。
set_post_thumbnail( $post, $thumbnail_id );
パラメータの$postには投稿ID、$thumbnail_idにはアイキャッチ画像のIDを指定します。
戻り値は設定成功・失敗のtrue/falseが返ります。
set_post_thumbnail()関数のサンプル
そのままコピペで使えるわけではありませんが、だいたいこんな風に使いますという例を抜粋しておきます。
「画像をメディアに登録してアイキャッチに登録するまで」の例です。
/***********************************************
* メディアライブラリに登録
************************************************/
$wp_filetype = wp_check_filetype($image_filepath, null);
$wp_upload_dir = wp_upload_dir();
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => $content,
'post_name' => $image_filename,
'post_content' => '',
'post_status' => 'inherit'
);
//ライブラリ登録実行
$attachment_id = wp_insert_attachment($attachment, $image_filepath, $post_id);
//wp_generate_attachment_metadata()使う前に
include_once(ABSPATH . 'wp-admin/includes/image.php');
//添付ファイルのメタデータを生成
$attach_data = wp_generate_attachment_metadata(
$attachment_id
, $image_filepath //サーバー上のファイルの絶対パス
);
//メディア(添付ファイル)を与えられたメタ情報で更新して、ファイルを再作成
wp_update_attachment_metadata($attachment_id, $attach_data);
//アイキャッチに登録
set_post_thumbnail($post_id, $attachment_id);