スラッグ名で分岐処理を行いたい
ちょっと調べて実装したのでメモ。固定ページの見出しをスラッグ名ごとで変更したかったので、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^)/
昔からあるメソッドほど忘れている気がする。まぁ、忘れないためにブログに残していっているのだけれど。日々勉強勉強。