フロントページのみをオンにしたいのですが。後続のページ番号付きページはありません(?paged = 2のように)。特定の出力をサイトの「真の」フロントページにのみ出力したい。
私はもう試した:
<?php if (is_front_page() && get_query_var('paged', 1) == 1 || 0): ?>
しかしこれはpaged
変数が存在する場合にのみ機能します(例:domain.com?paged=1
)。
あなたはis_front_page()
について誤解しています。ソースを見てみましょう:
public function is_front_page() {
// most likely case
if ( 'posts' == get_option( 'show_on_front') && $this->is_home() )
return true;
elseif ( 'page' == get_option( 'show_on_front') && get_option( 'page_on_front' ) && $this->is_page( get_option( 'page_on_front' ) ) )
return true;
else
return false;
}
したがって、上記から、is_front_page()
はtrueを返します。
静的フロントページ(読み込み時のがFront page
に設定されている場合)および静的フロントページの各ページページ。 /page/2/
etcは、静的フロントページの単なるページ付きページであるため、trueを返します。
閲覧設定がYour latest posts
に設定されている場合のホームページ、および投稿ページのすべてのページ付きページ。
is_front_page()
はfalseでfalseを返します。
静的フロントページと投稿ページが設定されている場合のブログページはPosts page
と設定されます。ただし、is_home()
はここでtrueを返します
ホームページまたは静的フロントページではない他のページ。
あなたが考えているのはis_paged()
です。この条件は、ページ区切り付きクエリの最初のページではfalseを返し、ページ区切り付きクエリの他のページではtrueを返します。
これを念頭に置くと、おそらく次のものが必要になります。
if ( is_front_page() // Can change to is_home()
&& !is_paged() // Use the NOT operator to return true on page one, false after that
) {
// Do what you need to do
}