WordPress ist ein tolles CMS. Du kannst damit machen, was du willst. Manchmal kann es jedoch zu Problemen mit einigen grundlegenden Funktionen kommen. Zum Beispiel verwenden Sie wahrscheinlich die is_front_page und ist Zuhause WordPress Homepage bedingt in Ihren Themes und Plugins (Sie können mehr über bedingte Funktionen in unserem Beitrag zu Conditional Tags erfahren). Aber du machst es falsch!
Startseiteneinstellungen
Mit diesen bedingten Funktionen können Sie überprüfen, ob die Homepage angezeigt wird (ist Zuhause) oder wenn die Homepage eine statische Seite verwendet (is_front_page). Sie können ein solches Verhalten definieren in Einstellungen=> Lektüre.
In Ihrem Plugin oder Theme können Sie diese Funktionen verwenden, um Inhalte je nach Benutzereinstellungen anzuzeigen oder zu ändern. Aber Sie machen einen großen Fehler: Sie berücksichtigen die statische Blog-Seite nicht. Wenn Sie eine statische Seite für Ihre Homepage definieren, können Sie auch eine Blog-Seite definieren: Sie ersetzt die Standard-WordPress-Homepage, um jeden Beitrag aufzulisten.
Lange Geschichte kurz gemacht: is_front_page sollte immer mit und vorher getestet werden ist Zuhause. Und hier ist der Grund.
Wie es funktioniert
1. Normale Einstellungen:
Die Standard-WordPress-Startseite listet Ihre neuesten Beiträge auf.
- Hier ist die URL: website.com
- is_home gibt WAHR zurück
- is_front_page gibt WAHR zurück
Hier gibt es kein Problem.
2. Statische Startseite:
Die Homepage verwendet eine Ihrer statischen Seiten.
- Die URL lautet immer noch website.com
- is_home gibt FALSE zurück
- is_front_page gibt WAHR zurück
Es gibt kein Problem mit Ihrer statischen Homepage: is_front_page gibt wahr zurück.
3. Statische Blogseite
Eine Ihrer Seiten listet alle Ihre Beiträge auf.
- Die URL lautet website.com/pagename
- is_home : WAHR
- is_front_page : FALSE
Hier können einige Probleme auftreten: ist Zuhause gibt TRUE zurück, aber dies ist nicht Ihre Homepage: Es ist eine WordPress-Seite, die jeden Beitrag auflistet, wie es ein Hauptkategoriearchiv tun würde.
Verwenden Sie bedingte Tags
Wenn Sie ein Plugin oder ein Theme erstellen, müssen Sie berücksichtigen, dass Benutzer diese Seiteneinstellungen verwenden können. Also, jedes Mal, wenn Sie es verwenden ist Zuhause, solltest du immer testen is_front_page vorher, und Sie sollten dazu immer bedingte Parameter verwenden.
Wenn Sie dies nicht tun, können bei einigen Benutzern Probleme auftreten. Wenn Sie beispielsweise nur testen ist Zuhause Um den Inhalt Ihrer Homepage anzuzeigen, treten Probleme mit der statischen Homepage auf, die nicht den richtigen Inhalt anzeigt.
So machen Sie es richtig:
if ( is_front_page() && is_home() ) {
// Default homepage ( both the front page and the recent posts page)
} elseif ( is_front_page() ) {
// Static homepage
} elseif ( is_home() ) {
// Blog page
} else {
// Everything else
}
Dies ist die einzige (richtige) Möglichkeit, Inhalte mit Ihrer Homepage und Ihrer Blog-Seite anzuzeigen oder zu ändern.
Wichtig: Bitte beachten Sie, dass diese Funktionen nur funktionieren, wenn WordPress geladen ist, beispielsweise bei Vorlagendateien oder bestimmten Action-Hooks. Sie können diese Bedingungen nicht einfach in die functions.php kopieren und erwarten, dass sie funktionieren.
Und du?
Ist dieses Problem bereits aufgetreten? Was war deine Lösung? Ich will davon hören!