スラッグ名で分岐処理を行いたい

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