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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です