WordPress Startseite und more-Tag beeinflussen

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.

  1. Abfrage auf Basis der Superglobalen
    
    <?php
    if ( isset($isHomepage) && $isHomepage = true ) {
    	global $more;
    
    	if ($count == 1) {
    		$more = 1;
    	} else {
    		$more = 0;
    	}
    	$count++;
    }
    ?>
    
  2. Abfrage mir einem Zähler
    
    <?php
    global $more;
    $i = 1;
    while (have_posts()) : the_post();
    	if ($i === 1) {
    		$more = 1;
    		. . .
    ?>
    

Comments are closed.