1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

single.php kennt keine category ?

Dieses Thema im Forum "Design" wurde erstellt von omshanti, 9. Oktober 2007.

  1. omshanti

    omshanti Member

    Registriert seit:
    9. Oktober 2007
    Beiträge:
    10
    Zustimmungen:
    0
    hallo zusammen,

    kaum ist man einen schritt weiter, türmt sich die nächste mauer auf :)

    im forum habe ich gelesen, dass man je nach categorie etwas laden kann. das funktioniert auch sehr gut, nur bei der einzelnen artikelseite, also bei der single.php nützt diese abfrage nichts. hat hier bitte jemand rat, wie diese single-seite auch wissen könnte, in welcher kategorie sie sich befindet.

    zum besseren verständnis: ich habe eine dreisprachige seite, das wordpress soll für die news dienen. jede sprache führe ich also in einer eigenen kategorie. bei den archive-links kommt man jedoch immer ZU ALLEN beiträgen, also nicht auf die kategorie bezogen. nun habe ich den templates hinzugefügt, dass wenn categorie deutsch, die deutsche sidebar geladen wird, die wiederum nur die deutschen artikel im archiv führt
    $temp_query = $wp_query; query_posts('showposts=100&cat=8');

    das funktioniert bis hierher hervorragend: deutsche kategorie, deutsche sidebar, deutsches archiv.

    nur wenn ich dann innerhalb dieser sidebar auf den archivartikel klicke, erhalte ich die single.php, allerdings nützt die abfrage nach der category hier nichts - die erkennt er nicht und somit gehen die archive-links in der sidebar verloren!

    hat hier jemand rat, bitteschön? :|

    liebe grüße
    monika

    ooooooooooh ... ich sehe gerade, ich bin im falschen forum - ich wollte eigentlich in die "konfiguration" posten - total sorry, kann man das verschieben, bitte?
     
    #1 omshanti, 9. Oktober 2007
    Zuletzt bearbeitet: 9. Oktober 2007
  2. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
    Wenn du wissen willst in welcher Kategorie ein Beitrag ist dann nutze doch einfach the_category() bzw. get_the_category() zur Weiterverarbeitung in PHP.
     
  3. omshanti

    omshanti Member

    Registriert seit:
    9. Oktober 2007
    Beiträge:
    10
    Zustimmungen:
    0
    hallo jottlieb,

    danke für deine antwort.

    mit <?php get_the_category(); ?> habe ich es probiert, das funktioniert aber nicht.

    the_category() ... mit dem befehl, erhalte ich nur die kategorie gelistet, die brauche ich ja aber nicht gelistet, sondern je nach kategorie eine sidebar geladen.

    liebe grüße
    monika
     
  4. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
    Doch funktioniert.

    Dann machen wir eben eine Abfrage. Dafür kann man übrigens auch in_category nutzen.
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  5. omshanti

    omshanti Member

    Registriert seit:
    9. Oktober 2007
    Beiträge:
    10
    Zustimmungen:
    0
    ... moment, jottlieb - DAS schaut natürlich dann ganz supi aus :) ... aber einen kleinen haken hat das noch, moment .... ich meld mich gleich nochmal, muss mich zuerst orientieren und sortieren ...
     
  6. omshanti

    omshanti Member

    Registriert seit:
    9. Oktober 2007
    Beiträge:
    10
    Zustimmungen:
    0
    so ... jetzt weiss, ich was der knackpunkt ist:

    teilweise erhalte ich jetzt zwei sidebars :oops:, weil einige artikel sowohl in der ösi- wie auch in der deutschen-kategorie gelistet sind.

    der zweite knackpunkt ist, dass ich in meiner header die definition drinnen habe:
    if ( is_category('de') ) {
    $sprache = de;
    echo " <img src=\"$images/logo.jpg\"/>"; //logo
    }

    damit funzt auf allen seiten, das logo inklusive der (nachfolgenden) navigation, bei der die variable $sprache weiter gegeben wird tadellos. nur eben nicht auf der single.php.

    nun habe ich in der single.php nicht nur zwei sidebars, sondern trotz zusätzlicher variablen-festlegung funktioniert das mit der sprache nicht:

    <?php the_category(); ?>
    <?php if (in_category('6')) {
    $sprache = "de";
    include ("sidebar.php");
    } ?>
    <?php if (in_category('7')) {
    $sprache = "at";
    include ("sidebar_at.php");
    } ?>
    <?php if (in_category('8')) {
    $sprache = "en";
    include ("sidebar_en.php");
    } ?>


    mir raucht schon der kopf von dem labyrinth :) ... aber jetzt bin ich schon so weit gekommen, nun möcht ich auch nicht aufgeben :|

    liebe grüße
    monika
     
  7. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Suchst du vielleicht elseif? Oder switch?

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #7 marX, 9. Oktober 2007
    Zuletzt bearbeitet: 10. Oktober 2007
  8. omshanti

    omshanti Member

    Registriert seit:
    9. Oktober 2007
    Beiträge:
    10
    Zustimmungen:
    0
    hallo marx,

    das hat mit einer kleinen korrektur (elseif if war zu viel) jetzt super funktioniert mit der sidebar!!! :) d.h. es lädt immer nur die richtige. dankeschön!

    was allerdings noch immer nicht funktioniert, ist das mit der sprache. die brauche ich ja aber unbedingt für die navigation. d.h. die header.php bekommt nicht die information (über die kategorie), die sie braucht :?

    liebe grüße
    monika
     
  9. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
    Der Header ist ja leider außerhalb des Loops, deshalb kann man mit den Standardfunktionen auch nicht bereits im Header abfragen in welcher Kategorie sich der Beitrag befindet, den man gerade anzeigt.

    (Soweit ich weiß)
     
  10. omshanti

    omshanti Member

    Registriert seit:
    9. Oktober 2007
    Beiträge:
    10
    Zustimmungen:
    0
    hmm ... warum funktioniert es aber bei allen anderen templates? bei archive-template, category-template .... überall funktioniert das so.
     
  11. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Ups, sorry. Ich habs in meinem Beitrag für die Nachwelt korrigiert. ;)
     
  12. omshanti

    omshanti Member

    Registriert seit:
    9. Oktober 2007
    Beiträge:
    10
    Zustimmungen:
    0
    manchmal muss man nur darüber schlafen und davon träumen, dass es klappt :idea:

    die lösung hat 4 buchstaben und lautet $cat. das funktioniert auch im header sehr gut.

    diese variable gibt man dem link zum permanent_link einfach mit, dann hat die single-seite auch ihre kategorie gefunden.

    <a href="<?php the_permalink(); ?>?cat=6" rel="bookmark" title="Permanent Link to &ldquo;<?php the_title(); ?>&rdquo;">

    da sich meine php-kenntnisse noch im anfängerstadium befinden, könnte vielleicht noch jemand für mich und wie marX so schön sagt: für die nachwelt erklären, wie man das ?cat=6 automatisch generieren könnte mit $cat ... also so ähnlich wie
    <a href="<?php the_permalink(); ?>?cat=$cat" rel="bookmark" title="Permanent Link to &ldquo;<?php the_title(); ?>&rdquo;">

    im header geht das tadellos mit dem $cat, fehlt da oben jetzt womöglich nur irgendwo eine klammer oder andere zeichen, dann bräuchte man sogar nur eine einzige sidebar.

    vielleicht hat da noch mal jemand einen tipp? wär echt supi!
    liebe grüße
    monika
     
  13. alte-Kiehvotz

    alte-Kiehvotz Member

    Registriert seit:
    25. Dezember 2008
    Beiträge:
    11
    Zustimmungen:
    0
    oha

    Ich bin grad dabei, ein neues Theme für mein Blog zu basteln und habe versucht, in der single.php die Kategorie des Beitrags per is_category(’…’) abzufragen. Aber über die single.php bekommt man ja nur per in_category(’…’) die richtige Angabe…

    nur gut ich hab diesen Thread hier gefunden ^^
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden