見出し画像

【WordPress】よく使う分岐 ※更新中

使ったものから随時更新・追加していきます。

カスタム投稿
single.php内での分岐に使った。
参考:
https://irec.jp/wordpress/custom-post-type/custom-post-conditional-branching/
https://qiita.com/ymeeto/items/191aaa7b706ffc9cdbdb

<?php if (get_post_type() === 'event'): ?>
  <div class="plainTextArea pPlain pEvent">
<?php else : ?>
<?php endif; ?>

投稿カテゴリで分岐

<?php if (in_category('news')): ?>
  <?php get_template_part( 'template/single/single-blog' ); ?>
<?php endif; ?>

ログイン済みかどうか

<?php if( is_user_logged_in() ) : ?>
  <?php get_template_part( 'template/single/single-staff' ); ?>
<?php else : ?>
  <?php get_template_part( '404' ); ?>
<?php endif; ?>

スラッグで指定

<?php if ( is_page('hogehoge') ) : ?>
   スラッグが「hogehoge」の固定ページで行う処理を書く
<?php else : ?>
   それ以外の処理を書く
<?php endif; ?>

※子ページの場合はスラッグは以下のように指定
<?php if ( is_page('hogehoge/hoge') ) : ?>


//逆に除外する場合(かつ複数指定)
除外・・「!」をつける
複数・・(array())を使う

<?php if ( !is_page (array('login', 'contact', 'about'))) : ?>
<?php endif; ?>

上記のスラッグ指定で404も除外する場合は以下のように書く。
※「||」ではなく「&&」

<?php if ( !is_page (array('login', 'tb_contact_trial', 'tb_contact_inquiry', 'inquiry-complete', 'trial-complete')) && !is_404() ) : ?>
<?php endif; ?>

URLによる分岐

例えば、問い合わせフォームプラグインを設置するページで、開発環境と本番環境でショートコードのIDが異なる場合に使用した。

    <?php $url = get_template_directory_uri(); ?>
    <?php if(strstr($url,'hoge')): ?>
      <?php echo do_shortcode( '[mwform_formkey key="12"]' ); ?>
    <?php elseif(strstr($url,'cloud')): ?>
      <?php echo do_shortcode( '[mwform_formkey key="34"]' ); ?>
    <?php else: ?>
      <?php echo do_shortcode( '[mwform_formkey key="56"]' ); ?>
    <?php endif; ?>


この記事が気に入ったらサポートをしてみませんか?