Sidebar
ein-/ausblenden

WordPress Startseite und more-Tag beeinflussen

Plugin für WordPress SEO

Anzeige

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;
    		. . .
    ?>
    

6 Kommentare zu „WordPress Startseite und more-Tag beeinflussen“

  1. 1
    Kommentar von ^Nicki^

    die abfrage der domain könnte ja genau das sein was ich suche! schön, danke!

  2. 2
    Kommentar von Alex

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

  3. 3
    Kommentar von Frank Bültge

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

  4. 4
    Kommentar von Alex

    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?

  5. 5
    Kommentar von Frank Bültge

    @Alex: nein, dieser Tag übernimmt keine Parameter.

  6. 6
    Kommentar von Tobi

    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 ?

Überlastung, Kommentare sind vorübergehend geschlossen

Ich bin urlaubsreif, ersticke in Arbeit und damit auch für die Leser des Weblogs nicht zu erreichen. Bitte geduldet euch ein wenig mit Supportanfragen.
Leider muss ich die Kommentarfunktion deaktivieren, ansonsten würde ich weiter in Arbeit ersticken oder die Anfragen nicht nach bestem Gewissen beantworten.

Vielen Dank für das Verständnis!