web-dev-qa-db-ja.com

Is_home()vs is_front_page()を使用する場合

ホームページを表示しているときにis_front_pageがtrueを返し、そこに1つのスティッキーポストが割り当てられていることがわかりました。

Settings> Reading で静的フロントページとしてページを割り当てたときもtrueを返します。

なぜis_home()を使いたいのですか?

63
N2Mystic

ユーザーがフロントページの 設定 - >閲覧 - >あなたのホームページに設定されているページまたは投稿ページにいる場合、is_front_page()はtrueを返します 表示

したがって、フロントページとしてabout usを設定した場合、この条件は、 about us ページを表示する場合にのみ真になります。

is_home()は投稿リストページでtrueを返します。これは通常最新の10の投稿を表示するページです。

あなたのホームページに表示される の下の設定がデフォルトのままになっている場合、ホームページはis_front_page()is_home()の両方に対してtrueを返します。

is_home()の使用例

  • 投稿ページを ニュース というページに設定しました。
  • ユーザーがそこをナビゲートし、追加のナビゲーションを表示したいヘッダーに移動します。
  • これを行うにはis_home()を使うことができます。
62
Brady

私は、is_home()is_front_page()がマルチサイトに期待されるものを提供しないことを発見しました。組み込みのPHPを使用した私の回避策:

if($_SERVER['REQUEST_URI'] == '/') {
    // you must be on the home page
}

コメントで述べたように、このアプローチはWebルートのサブディレクトリにインストールされたWPインスタンスに対してnot動作します。あなたの判断で使用してください。

3
Dylan Pierce

ユーザーがブログ投稿のリストを表示しているかどうかを確認したい場合は、is_home()を使用します(通常、1ページに10件の投稿を表示するように設定されています)。テーマにhome.phpファイルがある場合、それはis_home()条件が真のときに表示されます。

is_front_page()is_home()の条件( both )が真の場合、テンプレートfront-page.phphome.phpの代わりに使用されます。

1
Momekh