スラッグ名で分岐処理を行いたい
ちょっと調べて実装したのでメモ。固定ページの見出しをスラッグ名ごとで変更したかったので、have_posts()
のループ内でスラッグ名を取得してswitch
文で分岐処理を実装しました。
<?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <article> <?php switch ( get_post_field( 'post_name', get_the_ID() ) ) { case 'shop': the_title('<h1 class="page-title page-title-shop">', '</h1>'); break; case 'menu': the_title('<h1 class="page-title page-title-menu">', '</h1>'); break; case 'reserve': the_title('<h1 class="page-title page-title-reserve">', '</h1>'); break; case 'kids-space': the_title('<h1 class="page-title page-title-kids-space">', '</h1>'); break; default: the_title('<h1>', '</h1>'); break; } the_content(); ?> </article> <?php endwhile; ?> <?php endif; ?>
5行目で実行しているget_post_field
メソッドがスラッグ名を取得してくれます。「post_name」がスラッグ名を取得するためのパラメータになります。
上手に取れました \(^O^)/
昔からあるメソッドほど忘れている気がする。まぁ、忘れないためにブログに残していっているのだけれど。日々勉強勉強。