Sidebar nur für bestimmte Seiten

wp_logoOft will man eine Sidebar in Wordpress, nur in einzelnen Seiten verwenden. In Artikeln oder in einer bestimmten Kategorie soll die Sidebar nicht sichtbar sein, oder eine andere Sidebar erscheinen. Es gibt in Wordpress die Conditional Tags wie “is_page()” oder “is_category()” mit denen bestimmte Inhalte eine besondere Definition erhalten können.

 

Eine Sidebar anzeigen nur für bestimmte Seiten, Artikel, Kategorien, für die Startseite oder den Administrator. Das kann auch alles gemischt werden. Der Admin oder eine bestimmte Kategorie soll eine andere Sidebar haben, alles ist möglich.

 

Seiten:

Für einzelne Seiten kann ein Seitentemplate erstellt werden, das dann im Benutzermenü ausgewählt wird.

 

Eine andere Möglichkeit ist in der page.php die Funktion “is_page()” an die gewünschte Stelle einzufügen.

if ( is_page('3') ) {    
   get_sidebar();
}

Es erscheint die Sidebar nur bei der Seite mit der ID 3.

 

Es gibt verschiedene Möglichkeiten für die Definition der Sidebar in unterschiedlichen Seiten.

  • is_page( '3' )
    Für die Seite mit der ID 3.
  • is_page( 'Meine Seite' )
    Für die Seite mit dem Titel “Meine Seite”.
  • is_page( 'meine-seite' )
    Für die Seite mit dem Namen “meine-seite”.
  • is_page( array( 3, 'Meine Seite',  'AGB' ) )
    Die Sidebar wird nur in den Seiten mit der ID 3, der Seite “Meine Seite” oder “AGB” angezeigt.
  • is_page( array( 3, 7, 11, 23 ) )
    Die Sidebar wird angezeigt bei Seiten mit der ID 3, 7, 11 und 23. Die ID´s werden im Array nicht in Anführungszeichen gesetzt.
  • is_page( array( 'Milch', 'Zucker', 'Kaffee' ) )
    Die Sidebar erscheint in den Seiten mit dem Titel “Milch”, “Zucker” und “Kaffee”.

 

Die Array-Funktion ist seit Wordpress 2.5 verfügbar.

 

Artikel:

Eine Sidebar nur für bestimmte Artikel in der single.php.

if (is_single('3') ) {    
   get_sidebar();
}

Auch hier können Artikel-Namen und Array benutzt werden.

 

Kategorien:

Soll eine Sidebar nur in Artikeln einer bestimmten Kategorie sichtbar sein, kann in der single.php der Befehl “in_category()” benutzt werden. Für die Übersichtseite einer Kategorie wird "is_category" verwendet.

if (is_category('5') ) {
get_sidebar();
}

Es kann Kategorie-ID, Kategorie-Name und Array benutzt werden.

 

Startseite:

Für die Startseite wird “is_home()” oder “is_front-page()”, wenn vorhanden, in der index.php verwendet.

if (is_home() ) { 
   get_sidebar();
}

 

Administrator:

Für den Admin wird “is_admin()” verwendet. Die Funktion wird in den jeweiligen php-Dateien eingefügt, wo die Sidebar nur für den Administrator sichtbar sein soll.

if (is_admin() ) { 
   get_sidebar();
}

 

Administrator für Multisite:

Seit Wordpress Version 3.0 gibt es die Multisite-Funktion hier gibt es die Funktion “is_super_admin()”.

if (is_super_admin() ) { 
   get_sidebar();
}

 

 

Sidebar nicht anzeigen:

Soll die Sidebar in einer bestimmten Seite nicht angezeigt werden, wird ein Ausrufezeichen vor der jeweiligen Funktion gesetzt.

 if ( ! is_page('3') ) {   
   get_sidebar();
}

Es wird die Sidebar in der Seite mit der ID 3 nicht angezeigt.

 

 

Sidebar in verschiedenen Bereichen:

Wenn die Sidebar zum Beispiel nur auf der Startseite und in den einzelnen Artikeln erscheinen soll.

if ( is_home() || is_single() ) {    
   get_sidebar();
}

Die verschiedenen Bereiche werden mit dem Oder-Zeichen “||” getrennt.

 

 

Eine andere Sidebar für bestimmte Inhalte:

Wird eine bestimmte Kategorie aufgerufen, erscheint eine andere Sidebar.

if ( is_category('5') ) {    
   get_sidebar('1');
}
else {
   get_sidebar('2');
}

Wird die Kategorie mit der ID “1” aufgerufen, erscheint die Sidebar 1, bei allen anderen Inhalten erscheint die Sidebar 2.

 

Dies kann natürlich mit anderen Funktionen verwendet werden.

 

Weitere Informationen:

Unterschiedliche Sidebars in der sidebar.php

Sidebar erstellen

Seitentemplate erstellen

Navigationsmenü in Wordpress Themes einbauen

Formatvorlagen PostFormats in Wordpress

Wordpress Theme selbst erstellen

Wordpress Child-Theme erstellen

Kommentare   

0 #14 Lucas Hahn 2013-07-28 15:02
Danke Manni, hat geklappt.
0 #13 Manni 2013-07-28 12:17
Hallo Lucas,

mit den IF-Abfragen können auch unterschiedlich e DIVs definiert werden. Die genaue Definition hängt vom verwendeten Theme ab.
So kann in der style.css das jeweilige Aussehen angepasst werden.

Siehe auch den Artikel: Unterschiedlich e Sidebars in der sidebar.php
+1 #12 Lucas 2013-07-27 15:50
Hallo, auf meiner Website funktioniert das mit dem Sitebar ausblenden, aber der Hauptteil bleibt auf der Größe wie er sonst auch ist. Er soll aber den Platz der verschwundenen Sitebar mit einnehmen.

Wie bekomme ich das hin?
0 #11 Manni 2013-07-10 11:24
Hallo mel,

für Seiten ist in der Regel die "page.php" zuständig.
Dort sollte sich die Funktion "get_sidebar" befinden. Um diese Funktion wird die If-Abfrage mit den geschweiften Klammern gesetzt. (Ist ganz oben beschrieben)

Für einzelne Artikel ist die "single.php".
-1 #10 mel 2013-07-09 22:07
Sidebar nicht anzeigen:
Soll die Sidebar in einer bestimmten Seite nicht angezeigt werden, wird ein Ausrufezeichen vor der jeweiligen Funktion gesetzt.
if ( ! is_page('3') ) {
get_sidebar();
}
Es wird die Sidebar in der Seite mit der ID 3 nicht angezeigt.




Hab dies probiert - klappt bei mir nicht - wo muss ich dies einfügen? Sorry, das ich so doof frage, bin neu ;)

würde mich über eine antwort freuen

danke schon im voraus... :)
0 #9 Rieder 2012-07-09 11:10
zitiere Manni:
Hallo Rieder,

Das sind Wordpress-Funktionen.
Wenn Wordpress unter Xampp funktioniert, dann gehen auch diese Funktionen.


habs geschafft; endlich. Der Idiot sitz immer 40cm vor der Kiste....
nochmals vielen Dank
0 #8 Manni 2012-07-03 12:58
Hallo Rieder,

Das sind Wordpress-Funktionen.
Wenn Wordpress unter Xampp funktioniert, dann gehen auch diese Funktionen.
0 #7 Rieder 2012-07-03 12:26
zitiere Rieder:
zitiere Manni:
Das sind allgemeine Wordpress-Funktionen.

Sie funktionieren in jedem Theme gleich.


Ganz großen Dank für die Infos!


Habe nun alle Optionen mal ausprobiert, aber leider kein Ergebnis erzielt. Kann das daran liegen, dass bei mir alles unter XAMPP lokal auf meinem Rechner liegt?
0 #6 Rieder 2012-07-02 11:20
zitiere Manni:
Das sind allgemeine Wordpress-Funktionen.

Sie funktionieren in jedem Theme gleich.


Ganz großen Dank für die Infos!
0 #5 Manni 2012-06-21 21:27
Das sind allgemeine Wordpress-Funktionen.

Sie funktionieren in jedem Theme gleich.