BLOG
投稿ページを分割
2019/10/02 [Wed] WEB分割したページの最初と最後
ページを分割するところまでは良かったのですが、その後
- アイキャッチ画像は最初のページだけに表示したい
- タグは最後のページだけに表示したい
と考え、いろいろと試したのですが、どうにもうまくいきませんでした。
<?php if ( !is_paged() ): ?>などを使えば理屈の上では「1ページ目ではない」ということで、「最初のページだけに表示」が適用されると思ったのですが、どうも個別投稿ページでは、この条件分岐タグは使えないようです。
というわけで、こちらの記事を参考にさせていただきました。
// 最後のページだけに表示
function is_post_page_end() {
global $numpages;
$paged = (get_query_var(‘page’)) ? get_query_var(‘page’) : 1;
return $paged == $numpages;
}
// single.phpに記載
// 最後のページだけにタグを表示
<?php if ( is_post_page_end() ) : ?>
<?php if (get_the_tags()): ?><?php the_tags( ”, ‘ / ‘ ); ?><?php endif; ?>
<?php endif; ?>
この理屈で、最初のページだけに表示するには?と考えて書いたのがこちら。(表記をシンプルにするため、タグはいろいろ省略しています)
// 最初のページだけに表示
function is_post_page_first() {
$paged = (get_query_var(‘page’)) ? get_query_var(‘page’) : 1;
if( $paged == 1 ) {
return $paged;
}
}
// single.phpに記載
// 最初のページだけにアイキャッチ画像を表示
<?php if ( is_post_page_first() ) : ?>
<?php if(has_post_thumbnail()): ?>
<?php the_post_thumbnail(‘large’); ?>
<?php endif; ?>
<?php endif; ?>
関数については全然詳しくないので、どこか変かもしれませんがご了承ください…。
上記は「現在のページ送り番号を取得する」関数です。
なので、ページ番号を取得して「現在のページが1ページならば」関数を実行する、ということになっているはずです。
とりあえずこれで目的は果たせているので良しとしておきます。