#ss#


WordPress: Artikel und Kategorien vom Feed ausschließen

WordPress: Artikel und Kategorien vom Feed ausschließen

Wie kann man Kategorien und Artikel vom Feed ausschließen? Es mag mannigfaltige Gründe geben, warum man eine ganze Kategorie oder einzelne Artikel nicht in den Feeds haben möchte. Sei es, daß es sich um testweise Veröffentlichungen oder um Werbung handelt, die man den Feed-Lesern nicht zumuten möchte. Hier erkläre ich, wie das geht:


1. Kategorien vom Feed ausschließen:

Wordpress: Artikel und Kategorien vom Feed ausschließenWordpress: Artikel und Kategorien vom Feed ausschließen

Dazu loggt man sich ins Admincenter ein und wählt „Kategorien“. Fährt man nun mit der Maus rechts über eine der angezeigten Kategorien, kann man unten in der Statusleiste des Browsers die ID-Nummer ablesen. So ermittelt man die Nummer(n) der Kategorie(n), die man ausgeschlossen wissen will.

Nun öffnet man in einem Editor die Datei functions.php seines Themes.

Dort fügt man diesen Code ein, um eine Kategorie zu benennen:

// feed excluder  category
function myFeedExcluder($query) {
if ($query->is_feed) {
$query->set('cat','-1');
}
return $query;
}
add_filter('pre_get_posts','myFeedExcluder');

Die ID der ausgeschlossenen Kategorie wäre hier also 1.
Möchte man mehrere Kategorien ausschließen, geht das genauso:

// feed excluder  category
function myFeedExcluder($query) {
if ($query->is_feed) {
$query->set('cat','-1,-52,-555,-789');
}
return $query;
}
add_filter('pre_get_posts','myFeedExcluder');

Hier würden jetzt die Kategorien 1, 52, 555 und 789 ausgeschlossen. Immer hübsch mit einem Komme getrennt und einem Minuszeichen vor jeder Nummer.
Zu beachten ist, daß die ID aufsteigend aufgeschrieben werden müssen!

2. Artikel aus dem Feed ausschließen:

Um einzelne Artikel ausschließen zu können, muß man etwas tiefer in die Maschinerie von WordPress eingreifen.
Dazu öffnet man im Verzeichnis /wp-includes die Datei query.php und muss sie editieren.

Etwa bei Zeile 680 (je nach Version) werden die Feeds losgeschickt. Dort editiert man bitte einen Ausschluss hinzu. Die Zeile sieht hinterher so aus:

if ( $this->is_feed ) {
          $where .= " AND SUBSTRING(post_title,1,1) != '*'";
			$q['posts_per_page'] = get_option('posts_per_rss'); 
        		$q['nopaging'] = false;

Wichtig ist die Zeile mit dem != ‚*‘

Hat man diese Änderung vorgenommen, lädt man die query.php wieder hoch.
Nun kann man jeden beliebigen Artikel einfach mit einem Sternchen * einleiten und schon erscheint er nicht mehr im Feed.
Statt „Dies ist ein Artikel“ schreibt man dann einfach „*Dies ist ein Artikel“.

Dir gefällt das? Schenke mir 1 Sekunde und unterstütze mich auf Patreon

Peter Wilhelm

Peter Wilhelm

Fachjournalist Peter Wilhelm schreibt hier über die Nebensächlichkeiten der Welt.
Er liebt Technik und testet Produkte, Service und Angebote.
Der Bestsellerautor ist Chefredakteur einer Branchenzeitschrift, Sachverständiger und Fernsehexperte.
Der Satiriker veröffentlicht seine Satiren hier und eine Kolumne hier.
Der Psychologe und Dozent wurde in der Halloweennacht geboren und lebt mit seiner Familie bei Heidelberg.
Mehr über ihn erfahren Sie u.a. hier und hier.


Alle Angaben nach bestem Wissen, keine Rechts- Steuer- oder Medizinberatung! Fragen Sie einen Fachmann!


peter wilhelm autorenlesung

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
avatar
wpDiscuz
Lesen Sie weiter:
Auslaufmodell Handygeschäft: Vom Service beim Offline-Handykauf

Im Jahre 2015 ist fast jeder digital auf der Höhe. Doch wenn es darum geht,...

Schließen