[WP]改ページ(nextpage)ごとに対する条件分岐

今回やりたいこと

nextpageにてページを分割し、各改ページごとに異なるKVを設定したい。

今回対応したこと

繰り返しフィールドを作成し、その順番と改ページが一致した場合にその一致した番号の画像を表示できるようにした。


<?php if ( have_rows( '繰り返しフィールド名' ) ) : ?>
<?php $count=1; //←ここに連番用の数字を設置 ?>
<?php while ( have_rows( '繰り返しフィールド名' ) ) : the_row(); ?>
<?php
$image = get_sub_field('画像フィールド名');
$page = get_query_var( 'page', 1 );
$image_url = $image['url']; // 繰り返しフィールド サムネイル 画像
if($page < 2 && $count == 1):
?>
    <figure>
        <img src="<?php echo $image_url; ?>" alt="">
    </figure>
<?php
elseif ($page == $count) :
?>
    <figure>
        <img src="<?php echo $image_url; ?>" alt="">
    </figure>
<?php endif; ?>
<?php $count++; //←ループが1回繰り返されるたびにここで1足す ?>
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>

↓1ページ目の場合の記述箇所


<?php
if($page < 2 && $count == 1):
?>
    <figure>
        <img src="<?php echo $image_url; ?>" alt="">
    </figure>

改ページのページ番号を取得した場合1ページ目は0が取得されてしまうので繰り返しフィールドの値と合いません。
ですので、1ページ目の場合かつ繰り返しフィールドの値が1の時というように条件を分けています。


↓2ページ目からの記述


<?php
elseif ($page == $count) :
?>
    <figure href="<?php echo $image_url; ?>">
        <img src="<?php echo $image_url; ?>" alt="">
    </figure>
<?php endif; ?>

SNSシェア

WP TECH WordPress技術専門 Tips

コーポレートサイトへ

WP TECH WordPress技術専門 Tips

採用サイトへ