Ich möchte NUR die Titelseite einschalten. Nicht nachfolgende paginierte Seiten (wie? Paged = 2). Ich möchte bestimmte Ausgaben nur auf der "wahren" Startseite der Site ausgeben.
Ich habe es versucht:
<?php if (is_front_page() && get_query_var('paged', 1) == 1 || 0): ?>
dies funktioniert jedoch nur, wenn die Variable paged
vorhanden ist (Beispiel: domain.com?paged=1
).
Sie haben ein falsches Verständnis von is_front_page()
. Schauen wir uns die Quelle an:
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;
}
Aus dem oben Gesagten ergibt is_front_page()
den Wert true
Die statische Titelseite ( beim Lesen der Einstellung wird als Front page
festgelegt) und jede Seite der statischen Titelseite. /page/2/
etc gibt true zurück, da es sich nur um eine Seite der statischen Startseite handelt
Die Homepage, wenn die Leseeinstellung auf Your latest posts
gesetzt ist, sowie jede Seite der Beitragsseite.
is_front_page()
gibt am folgenden Tag false zurück:
Die Blogseite, wenn eine statische Startseite festgelegt ist, und die Beitragsseite werden mit Posts page
festgelegt. is_home()
gibt hier jedoch true zurück
Jede andere Seite, bei der es sich nicht um die Startseite oder die statische Startseite handelt.
Was Sie denken, ist is_paged()
. Diese Bedingung gibt auf der ersten Seite einer paginierten Abfrage false zurück und auf der anderen Seite einer paginierten Abfrage true.
In diesem Sinne würden Sie wahrscheinlich Folgendes benötigen
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
}