カテゴリ:
現在、Wordpressを使って固定ページ数が約35ページ程度の企業サイトを作っています。

はじめての本格的な商用ページ制作のため、
本当に解らないことだらけですが、なんとか固定ページは全て内容が完成。

Wordpress


現在は、細かい部分の設定や、依頼先が希望する「投稿ページ」の設定などをやっています。
構築的には下記の向かって右ような感じです。

無題1


トップページには、Wordpressプラグインの「Meta slider」で作成したスライドショーを、
ネットサーフィンで入れる方法を検索し、
header.phpの一番下段に

<div align="center">
<?php if ( is_home() || is_front_page() ) : ?>
<?php echo do_shortcode("[metaslider id=51]"); ?>
<?php endif; ?>
</div>

と記述を入れていて問題なく動いていました。


無題3

今回、このトップページとは別に、投稿ページ用の窓口ページも設定し、確認のためにブログ窓口ページを開きましたら、そのページにもスライダーが動いているではありませんか?

またまた検索して対処方法を調べましたら、
私と同様に悩んでいる方がいらっしゃいました。

[引用]
WordPressで企業ページを作成しています。
設定>表示設定から
「フロントページ」を固定ページAに「投稿ページ」を固定ページBに設定しました。
「Meta slider」で作成したヘッダー画像をフロントページに設定したところ、固定ページBにも表示されてしまいます。
ヘッダー画像はフロントページだけに表示したいと考えています。 固定ページBに表示しない方法はありますでしょうか。

全く同じ現象ですね。
その回答が2件あり、その1つ
「メタスライダーを表示するかしないかの条件分岐がうまくいっていないのではないでしょうか?」
という回答の紹介している

「固定フロントページを設定した場合の、コンディショナルタグの使い方」
に解決策がありました。
固定フロントページを使って、トップページに固定ページ、ブログアーカイブページを設定した場合、どのようにしてトップの固定ページ、ブログアーカイブページを条件分岐すればいいのか?

結論から言いますと、
ブログアーカイブページである事を判定するためには、is_home()
固定フロントページを判定するためには、is_front_page() を使うと判定できます

そこで前に書いた記述を

<div align="center">
<?php if (is_front_page() ) : ?>
<?php echo do_shortcode("[metaslider id=51]"); ?>
<?php endif; ?>
</div>

このように書きましたら、見事にトップページのみにスライドが出るようになり、解決しました。

つまり、
<?php if ( is_home() || is_front_page() ) : ?>
と書いたのが間違いだったんですね。

「is_front_page() 」だけで良かったのに「is_home()」も入れていたから。
投稿ブログ用ページが無かった時は問題なかったけれど、ブログ用フロントページも設定したときに、これが原因で2つの固定ページにスライダーが現れたというわけです。

もしWordpressで、私と同様に悩んでいる方がいれば参考にして頂ければと思います。
最後までお読みいただきまして、本当にありがとうございました♪