【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; ?>
この記事が気に入ったらサポートをしてみませんか?