webentwicklung-frage-antwort-db.com.de

Wie kann ich im Theme/Plugin nur die Startseite (nicht nachfolgende Seiten mit Seitenumbrüchen) als Ziel festlegen?

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

1
jonathanbell

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
}
3
Pieter Goosen