Die Startseite von WordPress kann man mittels Conditional Tags abfragen und beeinflussen. Dazu dient seit Version 2.5 von WordPress der Conditional Tag is_front_page. Alternativ kann man per Kombination der beiden Conditional Tags is_home() und is_paged() die Startseite abfragen. Diese Lösung sieht dann wie folgt aus: if ( is_home() && !is_paged() ). Durch die Abfragen kann man automatisiert den more-Tag beeinflussen, denn diesem kann man einen Wert zuordnen, so dass er im Frontend je nach Wunsch übersteuert wird.
Ähnlich kann man die Startseite der Domain auch über eine Superglobal-Variable mit PHP abfragen, ein Beispiel im folgendem Syntax. Diese Abfrage kann man dann mit dem more-Tag verknüpfen und so recht einfach alternative Ausgaben erzeugen.
<?php
if ( $_SERVER['REQUEST_URI'] == '/' ) {
$isHomepage = true;
}
?>
Damit wird die Variable $isHomepage nur dann gesetzt, wenn es sich um die Domain ohne Subdomain oder Anhang handelt. Diese wenigen Zeilen in der header.php untergebracht, können dem Theme-Entwickler die Arbeit schnell erleichtern.
Im weiteren nun die Beeinflussung des more-Tag. Übergibt die Variable $more die 1, dann wird der gesetzte more-Tag im Artikel nicht beachtet und der Artikel ist in voller Schönheit zu lesen. Dies kann man beispielsweise auch mit einem Zähler verbinden, um zum Beispiel der ersten Beitrag immer vollständig darzustellen und weitere Artikel auf der Seite nur bis zum more-Tag, auch dazu der Syntax im zweiten Beispiel.
- Abfrage auf Basis der Superglobalen
<?php
if ( isset($isHomepage) && $isHomepage = true ) {
global $more;
if ($count == 1) {
$more = 1;
} else {
$more = 0;
}
$count++;
}
?>
- Abfrage mir einem Zähler
<?php
global $more;
$i = 1;
while (have_posts()) : the_post();
if ($i === 1) {
$more = 1;
. . .
?>
die abfrage der domain könnte ja genau das sein was ich suche! schön, danke!
Ich frage mich gerade wozu überhaupt die Geschichte mit $_SERVER['REQUEST_URI'] usw..? is_home() erledigt dies doch bereits... Oder ist is_home() nicht immer korrekt? Bisher nutze ich das nämlich auf verschiedenen Blogs und dachte ich könnte mich darauf verlassen dass es dann auch nur auf der Startseite auftaucht...
@Alex: Mit is_home() wird aber auch die Startsiete als TRUE erkannt, wenn man die Pagination-Funktion nutzt, also "blättert" per Seiten von der Startseite aus.
OK, daran hab ich überhaupt nicht gedacht. Kann man is_paged() dann eigentlich auch eine Zahl mitgeben und so erfahren auf welcher Seite man sich gerade befindet?
@Alex: nein, dieser Tag übernimmt keine Parameter.
Hallo, irgendwie ist da bei mir nen Fehler srin. Ich möchte über dem aktuellstem Blogeintrag eine kurze Begrüßung anzeigen. ich habe den Code direkt nach
eingefügt.
Kannst du mir helfen ?