WordPress条件分岐タグ:ページの表示・非表示
ヘッダーで全ページ共通で、表示させてる横のボタンを一部のページで非表示にするには
どうやってやるんだろう?条件分岐タグを使うみたいだけど
if構文と条件分岐
if構文と条件分岐を使って、うまく表示をわけることができました。
↓下記のコードで、固定ページのcontactとthanksページにだけ、ボタンを表示させなくできました。
<?php if( !is_page( array('contact','thanks') ) ) : ?>
<a href="#" class="btn" target="_blank" rel="noopener noreferrer"></a>
<?php endif; ?>
↓使われてるのはif構文です。間に elseやelseif()を使うこともできます。
<?php if() : ?> もし〜ならば
(ここに表示させるものを記入する)
<?php endif; ?> 終わりの閉じタグ
「!」をつけると否定の意味になる。 〇〇でないとき
<?php if ( !is_page() ) : ?>
(ここに表示させないものを記入する)
<?php endif; ?> 終わりの閉じタグ
よく使う条件分岐タグ
その他のよく使う条件分岐タグをまとめてみました。
is_page(): 固定ページ
↓かっこの中にファイル名を入れて、ページを指定できます。
is_page( 'about' )
↓複数のページの場合の記述方法
is_single( array( 'about', 'service' ) )
↓複数のページの場合の記述方法 パート2
||はorの意味を持つ
is_page() || is_single()
↓複数のページの場合の記述方法
&&はandの意味を持つ
is_page() && is_single()
is_front_page(): トップページ
トップページだけヘッダーなどが違う場合が多いので、そういう時に使える条件分岐
<?php if ( is_front_page()) : ?>
トップページなら表示させるもの
<?php else: ?>
それ以外のページで表示させるもの
<?php endif; ?>
is_single() :投稿ページ
<?php if ( is_single() ) : ?>
<p>シングルページのときに表示させるもの</p>
<?php else: ?>
<p>それ以外のページで表示させるもの</p>
<?php endif; ?>
ひとつめのifに当てはまらなかったものを、再度別のif条件にできるのが、elseifです。
elseifは何度も使用可能。
<?php if ( is_single() ) : ?>
<p>シングルページのときに表示させるもの</p>
<?php elseif ( is_archive() ) : ?>
<p>アーカイブページのときに表示させるもの</p>
<?php elseif ( is_category() ) : ?>
<p>アーカイブページのときに表示させるもの</p>
<?php else: ?>
<p>それ以外のページで表示させるもの</p>
<?php endif; ?>
is_archive() :アーカイブページ(一覧)
投稿記事のアーカイブページで使える条件分岐タグ
is_category():カテゴリーページ
投稿記事のカテゴリでの条件分岐タグ
is_404():404ページ
Not Found”エラーページが、表示されている場合の、条件分岐タグ
カスタム投稿の条件分岐タグ
↓例えば下記のように使えます。参考例
<?php if (is_singular('news') || is_post_type_archive('news') || is_tax('news_cat')): ?>
<h1 class="title">
<?php echo esc_html(get_post_type_object(get_post_type())->label); ?>
</h1>
<p class="title"><?php echo $page->post_type; ?></p>
<?php else: ?>
<!-- .title__上記以外 -->
<h1 class="title"><?php the_title(); ?></h1>
<p class="title"><?php echo $slug; ?></p>
<?php endif; ?>
is_singular( ‘sample’ ):’sample’の投稿ページ
カスタム投稿の投稿記事ページの条件分岐タグ
is_post_type_archive( ‘sample’ ):’sample’のアーカイブページ
カスタム投稿の一覧ページの条件分岐タグ
is_tax(): タクソノミーページ
カスタム投稿のカテゴリ一覧ページの条件分岐タグ(カスタム投稿じゃない場合はis_category())