CleanCat

Usage:

Just activate the plugin and you’re set.

What it does:
CleanCat tidies up your categories. To be more precise, if a user navigates through your categories he’ll always see all the entries from all sub-cats as well. Some people like that, some people don’t. So for the latter there’s now the possibility to simply turn that off. If the plugin is activated, only postings belonging directly to the category will be displayed in it.

Download:
Go ahead and fetch it here: cleancat.zip

Installation:
Extract cleancat.php from the .zip-archive and place it in your WordPress plugin-folder. Then browse to your administration menu named “Plugins” and activate the plugin. That’s it.

History:

1.1.2 Fixed a bugfix for empty categories to work in WordPress 2.0.5
1.1.1 Fixed errors with empty categories and 404s.
1.1.0 Added the possibility to work with nice permalinks.
1.0.1 Fixed a bug which didn’t show Pages or Home correctly.
1.0.0 Final Release.
0.1.0 Initial Test Release.

  • #1 geschrieben von Nimue Sionnach
    vor 4 Jahren

    dann hol dir mal die lobhudelei ab ;-)

    http://www.sternengarten.info/garten/?p=225

    btw: das oben über dem header das wort test auftaucht, ist das absicht? ;-)

  • #2 geschrieben von Erik Range
    vor 4 Jahren

    Ahüm.. das Test-Wort war natürlich keine Absicht, nur ein Übrigbleibsel vom Testen.. ist aber schon raus nu *g*

    Lobhudelei.. mmmh.. schönes Wort, da guck ich doch gleich mal.. hehe ;-)

  • #3 geschrieben von Noeggi
    vor 4 Jahren

    Hallo Erik!

    Nettes Plugin. :-) Bei mir funktioniert es allerdings nur, wenn ich die Permalinks auf Standard setze… Ist das Absicht? Wie kann man “Clean_the_Cat” auch nutzen, wenn man die Permalinks nicht auf Standard setzen möchte?

    Grüsse,
    Noeggi

  • #4 geschrieben von Erik Range
    vor 4 Jahren

    @Noeggi: Asche auf mein Haupt, Du hast recht! Wundert mich, dass das bislang noch niemand gemerkt hat. Naja, das Plugin war ja quasi nur ganz fix mal umgesetzt, weil Nimue nach so einer Funktion gefragt hatte.

    Eigentlich wollte ich das eben mal “kurz nebenbei” auch für die erweiterten Permalinks angleichen, aber da macht mir WordPress einen dicken Strich durch die Rechnung, weil scheinbar keine der vereinfachten WP-Funktionen so richtig greifen will. Ich guck’ jetzt mal, wie ich die Dinger manuell zu deren ID auflösen kann, dann lad’ ich die neue Version direkt mal hoch. Einfach nochmal kurz hier nachlesen im Laufe des Tages.

    Nachtrag: CleanCat sollte jetzt auch mit erweiterten Permalinks funzen.

  • #5 geschrieben von Nimue Sionnach
    vor 4 Jahren

    nimue nutzt halt auch nur die standard-permalinks, weil sie sich 2 mal beim versuch das zu ändern, das blog zerschossen hat und ohne hilfe nicht wieder hinbekommen hat :-)

    erik, danke noch mal für das phantastische plugin, du ahnst gar nicht, wieviel zeit ich schon auf dieses problem verwandt habe….

  • #6 geschrieben von Stefan Böttcher
    vor 3 Jahren

    Kleiner Bugfix für leere Kategorien:


    if(have_posts()) {
    foreach( $the_posts as $key => $post ) {
    $allCats = array();
    foreach( get_the_category( $post->ID ) as $getCats )
    $allCats[] = $getCats->cat_ID;
    if( in_array( $thisCat, $allCats ) )
    $new_posts[] = $post;
    }
    }
    else
    return $the_posts;
    return $new_posts;
    }
    }

    statt:

    foreach( $the_posts as $key => $post ) {
    $allCats = array();
    foreach( get_the_category( $post->ID ) as $getCats )
    $allCats[] = $getCats->cat_ID;
    if( in_array( $thisCat, $allCats ) )
    $new_posts[] = $post;
    }
    }
    else
    return $the_posts;
    return $new_posts;
    }

  • #7 geschrieben von Felix
    vor 3 Jahren

    Hallo, das PLugin ist klasse – dadurch wird eine gute Übersicht bei den Kategorien erreicht.

    Dumm ist nur, dass, wenn die Fehlerseite von wp aufgerufen wird, kein 404er mehr gesendet wird, weil folgender Fehler vorausgeschickt wird:

    und nur

    davor einzufügen beseitigt zwar den Fehler, allerdings mit dem zweifelhaften Erfolg, dass das Plugin nicht mehr läuft.

    Hast Du da Abhilfe Erik?
    Weisst Du, an welcher Stelle im Code auf die 404.php
    umgeleitet wird?
    Dann könnte man dort auf eine eigen Fehlerseite umleiten, die den 404er im Header hat:

    “>

  • #8 geschrieben von Erik Range
    vor 3 Jahren

    @Stefan: vielen Dank für den Hinweis. Ich bau’ das so in leichter Abänderung mit rein.

    @Felix: Leider gingen die Fehlermeldungen ein wenig flöten. Und weil niemand Flöten mag, vermute ich mal, es könnte auch daran liegen, dass eine 404er keine Beiträge hat – man könnte das also in der Theorie mit dem Fix von Stefan sauber umschiffen. Bliebe dann nur noch die Frage, warum das Ding überhaupt auf einer 404er anspringt, die ja gar keine Kategorie ist. Das hiesse wiederum, dass es einen Bug bei WPs hauseigenem is_category gibt.

    Nichtsdestotrotz: in drei Minuten nochmal runterladen und gefixte Version probieren. :-)

  • #9 geschrieben von Felix
    vor 3 Jahren

    So, jetzt habe ich es:

    Man muss nur
    if( is_category() && !is_home() && !is_page() && !is_404() )

    mit
    if( is_category() && !is_home() && !is_page() && $the_posts != '' )

    ersetzen.

    Dann gibt es auch keinen Fehler mehr, wenn nicht vorhandene Seiten aufgerufen werden und ein schöner 404 Header wird wieder gesendet.

    gefunden auf http://forum.wordpress-deutschland.org/archive/index.php?t-12739.html

    grüsse,
    Felix

  • #10 geschrieben von nimue
    vor 3 Jahren

    jezt hab ich in der buddelkiste upgedatet und bekomme jetzt das hier:

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND comment_approved = '1'' at line 1]
    SELECT COUNT(comment_ID) FROM wp_comments WHERE comment_post_ID = AND comment_approved = ‘1′;
    Kommentare (0)

    http://fauna.sternengarten.info/?cat=25

    liegt das an meinem theme?

  • #11 geschrieben von Erik Range
    vor 3 Jahren

    @Nimue: hat zwar nicht wirklich was mit CleanCat zu tun, aber so wie’s aussieht, liegt das tatsächlich an Deinem Theme.. im Footer sehe ich da nämlich noch ein

    WordPress database error: [You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1]
    SELECT post_modified FROM wp_posts WHERE id =

    So von Aussen kann ich Dir da allerdings auch nicht viel sagen, kann ungefähr tausend Ursachen haben :-/

  • #12 geschrieben von Michael
    vor 3 Jahren

    Bei mir tritt ebenfalls dieser Fehler auf wie im Kommentar #15.
    Offensichtlich findet die Abfrage keine Kategorien.
    Selbst wenn ich die Permalinks abschalte – es werden keine Inhalte gefunden.
    Das liegt aber nicht am Theme. Die Fehlermeldung wird durch aufrufe wie
    comments_popup_link(‘0 Kommentar »’, ‘1 Kommentar »’, ‘% Kommentare »’);
    erzeugt, da dort dann die ID fehlt.

    Ich habe übrigens alle anderen PlugIns abgeschaltet um sicher zu gehen, das es dort keine Probleme gibt. Das einzige, was ich mir vorstellen könnte, wäre das PlugIn MyCatOrder – aber auch das wurde deaktiviert und es werden keine Posts angezeigt.
    Kannst Du vielleicht eine vorherige Version einmal bereitstellen. Die schien ja offensichtlich überall zu funktionieren – dann ist eine ‘Fehlersuche’ einfacher…

    Gruß Michael

    Gruß Michaek

  • #13 geschrieben von Erik Range
    vor 3 Jahren

    @Michael: Meiner vorsichtigen Schätzung nach bezog sich das Update der Buddelkiste in #15 auf die WordPress-Version. Da ihr beide 2.0.5 benutzt, CleanCat allerdings noch auf 2.0.3 geschrieben wurde, werde ich da eben mal eruieren und melde mich mit hoffentlich neuen Erkenntnissen und einem Update zurück.

  • #14 geschrieben von Michael
    vor 3 Jahren

    Hallo – ich bin’s nochmal…

    Wenn ich
    if( !have_posts() )
    return false;

    auskommentiere geht es. Anscheinend ist die Bedingung zu diesem Zeitpunkt noch nicht erfüllt.

    Leider geht das PlugIn mit anderen Funktionalitäten nicht.
    Beispiel:
    Auf der Homepage sollen nur die Beiträge der cat_ID 1 erscheinen. Normalerweise löse ich das ganz einfach:
    if (is_home()) { query_posts(“cat=1″); }
    Dann werden aber mit dem PlugIn keine Beiträge mehr gefunden. Wird es deaktiviert klappt alles ohne Probleme. Da ja eigentlich !is_home() eine Bedingung für die Ausführung ist, wundert es mich sehr. rgendwo ist da noch der Wurm drin.
    Bei den Seiten (is_page) läßt das PlugIn die Inhalte ja auch unangetastet.

    Das läßt sich mit einem anderen PlugIn sicher lösen…

  • #15 geschrieben von Erik Range
    vor 3 Jahren

    Der obige Fehler ist auch schon gefixed und trat tatsächlich nur unter WP 2.0.5 auf. Die !have_posts() greift nun scheinbar nicht mehr, wurde also durch ein !is_array auf $the_posts ersetzt. Läuft in der Testinstanz wie am Schnürchen.

    Den anderen Fall stelle ich eben mal nach, was aber tatsächlich ob der !is_home()-Afrage etwas merkwürdig erscheint. Vielleicht hat sich der Fehler mit dem jetzigen 1.1.2-Update auch schon erledigt. Gleich mehr dazu. ;-)

    Update: Jetzt bitte nochmal runterladen und ausprobieren. Die home-Problematik sollte sich nun erledigt haben und durch die vorzeitige if-Abfrage müssen auch nicht mehr alle Posts durch die Funktion geschleift werden, also zudem noch etwas performanter.

  • #16 geschrieben von Anton
    vor 3 Jahren

    Ahoi Erik,
    ich habe nun Dein CleanCat in einer neuen WP 2.0.5 umgebung aktiviert. und es tut sich nichts.
    Ich habe zeitgleich Fold Category List(1.0b6 Provides PHP functions to display a folding category tree Von Rob Schumann) aktiviert, aber daran scheint es nicht zu liegen.. ohne zeigt er mir ja auch immer saemtliche Beitraege an, wenn ich eine Hauptkategorie auswaehle und eigentlich nur ein Beitrag dieser zugeordnet ist und die anderen Beitraege nur weiteren Unterkategorien zugeteilt sind. Herrje.. und dabei klang es so einfach. Ist es vllt auch, und ich hab nur etwas uebersehen?!

    testkonfiguration unter:
    http://www.poli.de/wp/

  • #17 geschrieben von Flo
    vor 3 Jahren

    Hallo,

    erstmal vielen Dank für das Plugin.
    Leider will es bei mir nicht richtig funktionieren.
    Ich erstelle eine neue Kategorie mit z.B. zwei Unterkategorien aber es wird trotzdem in der Mutterkategorie die Artikel von allen drei Kategorien angezeigt.
    Ich habe schon extra ein jungfräuliches Wordpress installiert und nur cleancat aktiviert. Aber es tut sich leider nichts. Woran könnte es liegen?

    Hier der Link

    Vielen Dank schonmal

    Flo

  • #18 geschrieben von tschramm
    vor 3 Jahren

    hallo ….

    trotz cleancat erscheinen die beiträge der unterkategorien in der uebergeordneten katagorie —> denkfehler oder woran liegt es … benutze es mit folder_category_list und wp 2.06

  • #19 geschrieben von Mo
    vor 3 Jahren

    Hallo Erik,

    irgendwie will CleanCat nicht so wie ich will bzw. es sollte.

    Meine category.php ist hier im WP-Forum einsehbar (auf Grund der Übersicht hab ich den Code extra nicht hier gepostet).
    Das Ergebniss gibt es hier zu “bewundern”.

    Eigentlich kann man bei der Installation von CleanCat ja nichts falsch machen, jedoch werden bei mir weiterhin die Inhalte der Unterkategorien angezeigt :(.

    Hast du nen Tipp, woran das liegen könnte?

    Danke
    Mo

  • #20 geschrieben von ehan
    vor 3 Jahren

    hi Erik! i would like to ask u some question:

    1) how could i creat a horizontal drop down menu like ur page? i really like it!
    i alreay have a horizontal menu in my header.php, but i dont know how to add achives and Categories into it, and make it drop down…

    could u tell me what plug in u used, or sugges me some plug in with same effect?

    thanks!
    ehan

  • #21 geschrieben von Thomas
    vor 3 Jahren

    Hallo Erik
    Ist es möglich, dass das Plugin mit WP 2.1 noch (grundsätzlich) nicht funktioniert?

    Ciao, Thomas

  • #22 geschrieben von Robert
    vor 3 Jahren

    auch bei mir tut sich leider nichts. sämtliche plugins deaktiviert, standard wordpress-theme und zig andere probiert – er zeigt immer alle posts der hauptkategorie und leider nicht so wie beschrieben nur die posts der jeweiligen kategorie. betrifft alle 2er versionen, habs mit 3 installationen probiert. woran liegt das, es schreiben ja einige hier, das es funkt. bitte um einen comment – trotzdem vorweg danke für dieses tolle plugin – würde es dringend brauchen.

  • #23 geschrieben von Robert
    vor 3 Jahren

    hi, mein eintrag wurde gelöscht? warum?
    bin ja nicht der einzige, wo es LEIDER nicht geht!
    dein script in ehren, hier gibts ein plugin, das funkt!
    http://dev.wp-plugins.org/browser/just-one-category/tags/0.3/just_one_cat.php?rev=3167

  • #24 geschrieben von Axel
    vor 3 Jahren

    Hallo Erick,
    scheinbar funktioniert Dein Plugin unter WP
    2.1.3 nicht. Könntest Du bitte schauen, ob da was sich geändert hat?
    Dank im Voraus, Axel

  • #25 geschrieben von Marc
    vor 3 Jahren

    Kann mich Axel nur anschließen: Wordpress 2.2 de, und nix geht. Leider…

  • #26 geschrieben von Kirsten
    vor 3 Jahren

    Bei mir ist es noch lustiger:
    Bei einer von 3 Seiten gehts (nur Überkategorie wird angezeigt), aber nachdem ich heute zwei weitere Kategorien mit jeweils einer Unterkategorie hinzugefügt habe – werden auf diesen Seiten alle Posts angezeigt.
    Der Gag: Die erste Kategorie/Unterkategorie-Seite funktionert aber weiterhin.

    Das ist doch Voodoo, oder?

    Konfiguration wurde nicht geändert (WP 2.2.1 de)

  • #27 geschrieben von daniel
    vor 2 Jahren

    hi erik,

    super idee dieses plugin – vielen dank.

    doch ab wp 2.1 geht anscheinend nichts mehr. daher meine bitte / mein vorschlag: aktualisieren oder aus dem netz nehmen ;-)

    grüße

  • #28 geschrieben von Uwe
    vor 2 Jahren

    Hallo zusammen,

    bräuchte dieses Plugin sehr dringend, funktioniert aber nicht. Laufe auf Wordpress 2.3.3 !!!
    Gibt es da Hoffnung ?

    lg
    Uwe

  • #29 geschrieben von Hans Breitenfellner
    vor 2 Jahren

    Bräuchte das Plugin für Wordpress 2.6
    Hat das jemand? wäre der Wahnsinn.