kostenloser Webspace werbefrei: lima-city


Wordpress: Unterschiedliche Sidebars (bei Custom Taxonomies)

lima-cityForumDie eigene HomepageHomepage Allgemein

  1. Autor dieses Themas

    effektfabrik

    effektfabrik hat kostenlosen Webspace.

    Folgende Problematik beschäftigt mich zur Zeit.

    Ich möchte gerne auf meiner Film-Review Seite unterschiedliche Rankings der Filme in der Sidebar anzeigen lassen.
    Bisher wird allgemein die sidebar.php angezeigt, diese beinhaltet die Top 5 Filme über alle Kategorien hinweg.

    nun habe ich für jede Kategorie eine eigene sidebar-kategorie.php erstellt, die nun unterschiedliche Rankings erzeugen.
    Auf der jeweiligen Kategorieseite soll nun z.B. sidebar-abenteuer.php aufgerufen werden.

    Ich habe auch schon einiges ergoogelt und ausprobiert und als hilfreichen Artikel habe ich diesen gefunden:
    http://www.tipps.1st-tec.de/wordpress/39/88-sidebar-nur-fuer-bestimmte-seiten.html

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


    funktioniert nicht da ich keine Kategorie in dem Sinne mehr habe. Ich habe ja Custom Taxonomies benutzt.
    Neuen Post-Type mit movies eingeführt und Custom Taxonomies: movie-genre.
    Das Ganze versucht nun auf meinen Fall zu verändern:

    <?php if (is_movie-genre('abenteuer') ) {
    get_sidebar(abenteuer);
    else {
    get_sidebar(); 
    } ?>


    Leider funktioniert es nicht.
    Jemand ein Tipp für mich, welchen Befehl ich für meinen Fall verwenden kann statt sowas wie is_category?



  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Die entsprechenden php-Dateien für die "neuen" Sidebars hast Du angelegt?

    get_sidebar("abenteuer");

    erwartet eine Datei Namens sidebar-abenteuer.php im Templateordner.
    Man beachte bitte auch die ergänzten Anführungszeichen! :wink:

    Details zur Funktion get_sidebar(): http://codex.wordpress.org/Function_Reference/get_sidebar

    Beitrag zuletzt geändert: 10.2.2012 18:17:28 von fatfreddy
  4. Autor dieses Themas

    effektfabrik

    effektfabrik hat kostenlosen Webspace.

    fatfreddy schrieb:
    Die entsprechenden php-Dateien für die "neuen" Sidebars hast Du angelegt?


    Jo ist für alle Kategorien schon angelegt und angepasst

    fatfreddy schrieb:
    Man beachte bitte auch die ergänzten Anführungszeichen! :wink:


    Stimmt die habe ich vergessen. Kriege aber immernoch einen 500-Statuscode beim einfügen des neuen Codes. Die Syntax stimmt also noch nicht ganz.

    fatfreddy schrieb:
    Details zur Funktion get_sidebar(): http://codex.wordpress.org/Function_Reference/get_sidebar


    Hatte ich mir auch schon angeguckt, aber das hilft mir nicht weiter.

    Habe zu meinem Problem auch folgenden Beitrag gefunden, da wurde jedoch keine Lösung gefunden:

    http://wordpress.org/support/topic/different-sidebar-for-custom-taxonomies
  5. effektfabrik schrieb:
    Kriege aber immernoch einen 500-Statuscode beim einfügen des neuen Codes. Die Syntax stimmt also noch nicht ganz.

    Dann hast Du noch ein anderes Problem. Der Errorcode 500 deutet darauf hin, das der Server ein Problem mit dem URL-rewriting hat. Das liegt nicht zwangsläufig an einer falschen Syntax bei der Auswahl der betreffenden Sidebar.
    Woran es letztendlich hapert, kann ich , so aus dem Handgelenk, auch nicht sagen. Ich versuche das mal an einer Testinstallation von WP nachzuvollziehen.

    Der, von dir verlinkte Beitrag hilft wenig weiter, weil dort ein ganz anderer Weg, abseits der "normalen" WP-Funktionen, versucht wurde

    Beitrag zuletzt geändert: 10.2.2012 23:17:23 von fatfreddy
  6. Autor dieses Themas

    effektfabrik

    effektfabrik hat kostenlosen Webspace.

    <?php if (is_category('abenteuer') ):
    	get_sidebar('abenteuer');
    elseif (is_category('animation') ):
    	get_sidebar('animation');
    else :
    	get_sidebar();
    endif; 
    } ?>


    Hab es jetzt damit noch ausprobiert.

    <?php if (is_tax('abenteuer') ):
    	get_sidebar('abenteuer');
    elseif (is_tax('animation') ):
    	get_sidebar('animation');
    else :
    	get_sidebar();
    endif; 
    } ?>


    <?php if (is_taxonomy('abenteuer') ):
    	get_sidebar('abenteuer');
    elseif (is_taxonomy('animation') ):
    	get_sidebar('animation');
    else :
    	get_sidebar();
    endif; 
    } ?>


    Habe diese Funktionsreferenz gefunden:

    http://codex.wordpress.org/Conditional_Tags#Conditional_Tags_Index
  7. effektfabrik schrieb:
    Hab es jetzt damit noch ausprobiert.

    Erfolgreich oder nicht?

    Schon mal ausgelesen, was

    is_category('abenteuer')

    ,
    is_tax('abenteuer')


    oder
    is_taxonomy('abenteuer')

    zurückgeben?


  8. Autor dieses Themas

    effektfabrik

    effektfabrik hat kostenlosen Webspace.

    Also ich habe jetzt einfach nochmal ein PHP-Code-Widget in die Sidebar gepackt und folgendes eingefügt:

    <?php
    if (is_tax('abenteuer')) {
        echo 'This is Abenteuer';
    } 
    ?>


    habe es auch mit is_taxonomy, is_category ausprobiert.

    Das Widget bleibt immer leer, somit folgt auf diese If-Clause kein Wahrheitswert.
    Habe das ganze natürlich auch in der Übersichtsseite von der Kategorie Abenteuer aktualisiert.

    <?php
    if (is_home()) {
        echo 'This is Home';
    } 
    ?>


    Mit is_home() funktioniert das Ganze. Das Widget wird nur auf der Home-Seite ausgefüllt, aber nicht auf den anderen Seiten.

    EDIT:

    is_tax bringt schon mal etwas Licht ins Ganze:

    <?php
    if (is_tax()) {
        echo 'This is tax';
    } 
    ?>


    Dieser Code zeigt Erfolg auf allen Kategorieseiten, nun suche ich nur noch die Spezifizierung auf eine bestimmte Kategorie.

    <?php
    if (is_tax('abenteuer')) {
        echo 'This is tax abenteuer';
    } 
    ?>


    Hat leider nicht geklappt.

    EDIT 2:

    <?php
    if (is_tax('movie-genre', 'abenteuer')) {
        echo 'This is tax abenteuer';
    } 
    ?>


    Lösung gefunden!

    http://codex.wordpress.org/Function_Reference/is_tax

    Edit 3:

    <?php if ( is_tax('movie-genre', 'abenteuer') ):
    	get_sidebar('abenteuer');
    elseif ( is_tax('movie-genre', 'animation') ):
    	get_sidebar('animation');
    else :
    	get_sidebar();
    endif; 
    ?>


    Sollte eigentlich den richtigen Effekt erzielen. Kriege aber immer nur die sidebar.php rein und nicht die sidebar-abenteuer.php.

    Habe auch den Code von der sidebar-abenteuer.php in die sidebar.php kopiert und den Effekt getestet: die sidebar-abenteuer.php liefert die richtige Ausgabe und nur die Top-Filme aus der richtigen Kategorie.


    Beitrag zuletzt geändert: 11.2.2012 0:18:43 von effektfabrik
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!