【WordPress】九十九悪嵐のうぇぶでざいんびぼうろく。〜アイキャッチ画像出力の関数をカスタマイズしてみる編〜
お久しぶりの『九十九悪嵐のうぇぶでざいんびぼうろく。』、そしてお初のWordPressに関する備忘録。
初めてのWordPressに関する備忘録はカスタム投稿タイプでも良かったのですが、「WordPressといえばカスタム投稿タイプみたいな節があるからな…ありきたり…なんか嫌…」ということで、初めてのWordPressに関する備忘録は「アイキャッチ画像出力の関数をカスタマイズしてみる」にしました。
具体的にどうカスタマイズするのか、というと、
です!
それでは早速作っていきましょう〜。
作成方法
1.テーマにあるfunctions.phpに以下のコードを記述する。
function my_catch_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all( '/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches );
$first_img = $matches[1][0];
if(has_post_thumbnail()) {
$img_id = get_post_thumbnail_id();
$img_url = wp_get_attachment_image_src($img_id, 'full', true);
$first_img = $img_url[0];
}
if(empty($first_img)) {
// アイキャッチ画像があればそちらを表示
if(has_post_thumbnail()) {
$img_id = get_post_thumbnail_id();
$img_url = wp_get_attachment_image_src($img_id, 'full', true);
$first_img = $img_url[0];
}else {
// 記事内で画像がなかった時のための画像を指定(ディレクトリ先や画像名称は任意)
$first_img = esc_url(get_template_directory_uri(). '/assets/img/common/default.png');
}
}
return $first_img;
}
2.サムネイル表示させるところで以下のコードを記述する。
<img src="<?php echo my_catch_image(); ?>">
参考
一覧ページ等で、アイキャッチ画像がなかったら一番目の画像を取得し、さらに画像がなかったら定義した画像を表示するカスタマイズ方法
この記事が気に入ったらサポートをしてみませんか?