WordPress条件分岐タグ:ページの表示・非表示

WordPress
スポンサーリンク

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())

タイトルとURLをコピーしました