Wie versteckt man in Wordpress die Inhalte einer Kategorie?

Im Wordpress Forum gab’s diese Frage schon öfter und ich hatte auch bei einem Projekt das Bedürfnis die Inhalte einer bestimmten Kategorie nicht anzeigen zu lassen, z.B. weil man sie auf eine extra Seite auslagern möchte. Das geht alles relativ einfach, wenn man sich der entsprechenden template_tags bedient.

Als erstes sollte man feststellen, wo man seine Inhalte ausschließen möchte und dann die entsprechende template datei öffnen.

  • Startseite: index.php
  • Einzelartikel: single.php
  • Archive (Monat, Tag, Autor, …): archive.php
  • Suche: search.php

Dort such man sich die sog. Wordpress Loop, die dürfte in etwa so aussehen, wie der folgende Block ohne die farbigen Zeilen.
Möchte man jetzt z.B. die Beiträge mit der Kategorie mit der ID 4 von der Anzeige komplett ausschließen, dann fügt man die roten Zeilen ein, möchte man nur, dass die Inhalte der Beiträge, die Überschrift und die Beitragsinfos schon angezeigt werden, dann fügt man die blauen Zeilen ein.

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

<?php if ( !in_category('4')) { ?>

<h3  id="post-<?php the_ID(); ?>" ><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link zu '<?php the_title(); ?>'"><?php the_title(); ?>
 </a></h3>

<?php if ( !in_category('4')) { ?>
<?php the_content(); } ?>
<?php } ?>

<?php the_time('l,') ?> den <?php the_time('j. F Y') ?><strong>|</strong> Kategorie <?php the_category(', ') ?> <strong>|</strong> <?php comments_popup_link('0 Kommentar &#187;', '1 Kommentar &#187;', '% Kommentare &#187;'); ?> <?php edit_post_link('Bearbeiten','<strong>|</strong> ',''); ?>

<?php } ?>

<?php endwhile; ?>

Natürlich sind die Inhalte nachwievor über die RSS-Feeds von aussen sichtbar, aber auch da gibt es eine Lösung, wie ich beim nächsten Mal zeigen werde.

Der Beitrag wurde am Donnerstag, den 23. August 2007 um 22:10 Uhr veröffentlicht und wurde unter Weblogsoftware abgelegt.

Sie können die Kommentare zu diesen Eintrag durch den RSS 2.0 Feed verfolgen.

Sie können einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.

Tags: Tags: , ,

Ähnliche Beiträge:

11 Kommentare zu „Wie versteckt man in Wordpress die Inhalte einer Kategorie?“

1

Benjamin

5. September 2007 um 10:30

Dann wird leider immer ein Post weniger angezeigt als im Backend notiert, was ziemlich nervig ist. Wenn man an anderer Stelle die ausgeblendete Kategorie zum Beispiel als Kurznachrichten ausgibt, und die letzten drei Nachrichten Kurznachrichten sind, werden von zuvor eingestellten 5 Posts im Hauptloop leider drei ausgeblendet und erst auf der nächsten Seite angezeigt.

2

Martin Unverdorben

5. September 2007 um 10:34

Hast Du nur die blauen oder nur die roten Zeilen eingefügt?
Bei mir hat das so einwandfrei geklappt.

3

Detlef

7. November 2007 um 11:52

Hallo Martin,

vielen Dank für die Anleitung.
machst Du die Anleitung für die RSS-Feeds noch???

4

Martin Unverdorben

14. November 2007 um 00:31

Hallo Detlef,

ich komm momentan nicht dazu, aber um es kurz zu machen:
Du mußt folgende Dateien im wp-includes Dir ansehen:
feed-atom.php, feed-rdf.php, feed-rss.php und feed-rss2.php. Ob Dir die Kommentarfeeds wichtig sind, mußt Du selbst entscheiden.
In diesen Dateien findest Du genauso wie oben die sog. wordpress-loop, die mit:
< ?php while (have_posts()): the_post(); ?>
beginnt.
Dann kannst genauso wie oben beschrieben die Änderungen durchführen.
Ich hoffe, das hilft Dir erstmal weiter.
lg
Martin

5

Detlef

14. November 2007 um 01:01

Super, vielen Dank

6

Markus Junginger

25. Januar 2008 um 23:46

Noch einfacher geht es mit dem Plugin “Advanced Category Excluder”, wie ich grade herausgefunden habe: http://jars.de/blog/kategorien-in-wordpress-ausschliessen
Funktioniert super.

7

smartguy

1. Februar 2008 um 05:10

Hi. Danke für die Erklärung. Habe es auf meine Widgets angewendet und es funktioniert einwandfrei.

8

Reik

23. Dezember 2008 um 12:57

ich habe auch das Problem, dass die Kategorien trotzdem noch im rss feeder sind, weisst du wie man dies abstellen könnte?

9

Martin Unverdorben

23. Dezember 2008 um 23:02

@Reik: Manche Feedreader behalten die Inhalte, die sie einmal aggregiert haben, so dass Du evtl. so gar nicht erkennen kannst, ob sie nicht mehr vorhanden sind.
Ansonsten könnte es noch daran liegen, dass Du genau in der Datei für den Feed den Du abfrägst die Änderungen nicht durchgeführt hast.
Oder Du nimmst am Besten gleich das Category Excluder Plugin, dann brauchst Du auch keine Coredateien ändern.

10

jwqlb

20. Juli 2009 um 19:46

danke für den beitrag.
ich möchte nicht die inhalte einer kategorie ausschließen, sondern nur den kategorie-link in der sidebar unsichbar machen.
hast du dafür auch eine idee?

mit bloggigen grüßen
jwqlb

11

Martin Unverdorben

20. Juli 2009 um 22:50

Nutzt Du widgets?
Wenn nein, dann schau Dir mal den Aufruf in der Sidebar für die Kategorienanzeige an. Der sollte heissen wp_list_categories und eine Erklärung dazu gibt es hier. Mit “exclude” kannst du dann Kategorien ausschliessen. Die notwendige Nummer dazu findest du im Adminbereich, wenn Du Dir den Link für die einzelne Kategorie zum bearbeiten ansiehst.
Es gäbe diverse Plugins, um diese Funktion auch in ein Widget zu bekommen, aber ich würde ein PHP Widget plugin nutzen und dann den obigen Aufruf dort reinpacken.

Kommentar schreiben

keine Trackbacks zu „Wie versteckt man in Wordpress die Inhalte einer Kategorie?“

 
Beiträge Beiträge

Beiträge | Kommentare

Enter your email address:

Delivered by FeedBurner