発生する現象
【ページネーションに設定したサムネイルが、記事ごとに設定したものに対応していない】
添付のコードだと、カスタムフィールドで設定した、サムネイルは確かに設定されますが
「前の記事を読む」のサムネイルも「次の記事を読む」のサムネイルも
全く同じになってしまう現象が発生しております。
つまりその記事ごとに設定された「カスタムフィールドの画像」が出ないという意味です。
※WPのアイキャッチ画像機能ではなく投稿内の「カスタムフィールド」の画像を呼び出す形式です。
添付画像
ページネーションに画像を「前」と「次」の記事のサムネイルを出力するコードを書きました。
作成イメージはこんな感じです、※実際の記事なのでちょっと画像は文字で隠しています
コードについて
functions.phpでやっている処理
ページネーション「前へ」「次へ」の横にdivタグを作って、その中にカスタムフィールドで設定した画像を出力する。
もしなければnoimgを出力する
こちらfunctions.phpの記述ミスな気はしていますが、原因が特定できず
お力いただけないでしょうか。よろしくお願いいたします。
ページネーションのコード
※post_typeの値はテンプレートファイルによって変わります
<?php the_post_navigation( array( 'prev_text' => '前の記事を読む', 'next_text' => '次の記事を読む' ) ); ?> コード
functions.phpにページネーションの出力条件を設定
function nendebcom_add_img_next_prev_post_link( $output, $format, $link, $post, $adjacent ){ $imagePost = get_field( 'postSquareTypeImage' ); if( $imagePost ) { $post_thumbnail_img = wp_get_attachment_image( $imagePost ); } else{ $post_thumbnail_img = '<img src="' . includes_url( 'img/noimg.png' ) . '" alt="画像が設定されていません" />'; } $output = str_replace( '<div class="nav-' . $adjacent . '">', '<div class="nav-' . $adjacent . '">' . $post_thumbnail_img, $output ); return $output; } add_filter( 'next_post_link', 'nendebcom_add_img_next_prev_post_link', 10, 5 ); add_filter( 'previous_post_link', 'nendebcom_add_img_next_prev_post_link', 10, 5 ); コード
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/10/11 23:02