Beiträge nur der Haupt- und nicht der Unterkategorie zeigen

  • Moin,

    kann mir bitte jemand sagen, wie ich es hinbekomme, dass in einer Kategorie mit Unterkategorien nur die Beiträge der Hauptkategorie und nicht der Unterkategorien angezeigt werden. Die Standardeinstellung erachte ich für unsinnig, denn sonst bräuchte ich ja keine Unterkategorien...

    Falls ich mich unklar ausgedrückt habe, schaut einfach mal auf meine Seite und geht in die Kategorie "andere Bikes". Dort sollten nur die Beiträge aus "andere Bikes" angezeigt werden und nicht auch der anderen Kategorien, wie z.B. "Yamaha XT".

    Danke im Voraus für Hilfreiches :)

    Grüße
    Stefan

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Moin,

    habe jetzt schon Stunden mit Suchen und rumprobieren zugebracht - nutzt alles nix. Wenn keiner weiterhelfen kann, dann ist das doch ein echtes Designproblem. So machen Unterkategorien überhaupt keinen Sinn...

    Grüße
    Stefan

  • Du könntest in die archive.php eine doppelte Abfrage in den Loop einbauen:

    PHP
    if ( is_category('Hauptkategorie') ) {
      if ( !is_category('Unterkategorie1') &&  !is_category('Unterkategorie2') ) {
        echo "blabla";
      }
    }

    Hab ich jetzt nicht im Geringsten getestet, aber wenn Du ein bissel mit is_category() rumspielst, solltest Du es hinbekommen.

  • Hab ich jetzt nicht im Geringsten getestet, aber wenn Du ein bissel mit is_category() rumspielst, solltest Du es hinbekommen.


    Danke!
    Habe ich schon probiert und die Kategorie des Posts verglichen mit der derzeitigen Kategorie. Der Vergleich funktioniert zwar, aber sinnvoller ist natürlich die Query so umzuswitchen, dass die DB schon gleich die richtigen Posts rausrückt. Daran bin ich dann gescheitert

    Grüße
    Stefan

  • Es sieht in der Tat nach einem WP-Bug aus, zumal ja in der Seitenleiste hinter dem Kategorienamen offenbar die richtige Anzahl ausgegeben wird.

    Es ist durchaus möglich, die Query zu modifizieren. Und zwar müsstest Du dazu ein kleines Plugin schreiben, das den API-Filter posts_where benutzt. Im einfachsten Falle sähe das so aus:

    In der Funktion catfilter müsstest Du dann die SQL-Abfrage modifizieren.

  • Ab Version 2.3 funktioniert das Plugin nicht mehr, weil die ganze Kategorieverwaltung umgestrickt wurde.....

    Damit es wieder funktioniert muss man Zeile 25 im Plugin "just_one_cat.php" ändern!

    ALT:

    PHP
    $where .= " AND category_id = $cat";

    NEU:

    PHP
    $where .= " AND wp_term_relationships.term_taxonomy_id = $cat";


    Gruss
    Reiner

  • Wenn ich dieses Plugin aktiviere bekomme ich folgenden Fehler:

    Code
    [B]WordPress database error:[/B] [Unknown column 'category_nicename' in 'where clause']
                 SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) INNER JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id) WHERE 1=1 AND wp_term_taxonomy.taxonomy = 'category' AND wp_term_taxonomy.term_id IN ('4') AND post_type = 'post' AND (post_status = 'publish' OR post_status = 'private') AND category_nicename = 'termine' GROUP BY wp_posts.ID ORDER BY post_date DESC LIMIT 0, 5

    und das auch mit der überarbeiteten Form. Ich nutze WP 2.3.1, Standardtemplate, widgets habe ich extra mal wieder rausgemacht und nutze daher die normale sidebar.php. Die URL: Natur und Naturschutz in Solingen » Naturschutz in Solingen allerdings habe ich das Plugin wieder deaktiviert, da sonst kein Besucher auf die Beiträge kommt. Kann mir irgendwer helfen?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!