Da sind halt irgendwo noch Leerzeichen und/oder Leerzeilen vor <?php und/oder nach ?>, die da nicht sein dürfen.
Gruß Jeriko
Leider nicht.
Manchmal ist man einfach nur dämlich: :oops::oops::oops:
Nachdem ich Deinen Beitrag gelesen habe, fiel mir ein, dass ich ja bereits ein Plugin, das u. a. Kategorien aus den Feeds ausschließt, geschrieben habe.
Dabei habe ich allerdings einen Fehler entdeckt, den ich noch beheben muss.
Für alle, die es interessiert:
Für das Projekt, für das ich das brauche, habe ich erst einmal die folgende Lösung gefunden:
add_filter('pre_get_posts','eb_feed_cat_query');
function eb_feed_cat_query($query) {
if (is_feed()) {
$query->set('cat', '-15' );
}
return $query;
}
Dies ist allerdings nur sinnvoll, wenn man wirklich nur eine Kategorie ausschließen will und noch nicht die Version 2.5 installiert hat.
Wenn beides nicht zutrifft, muss man die Variable $where verändern.
Ich habe das zunächst (auf die Schnelle) so gelöst:
add_filter('posts_where','eb_feed_cat_where');
function eb_feed_cat_where($where) {
global $wpdb;
if( is_feed()) {
$arr_where1 = explode("term_taxonomy.term_id IN (", $where);
$arr_where2 = explode(")", $arr_where1[1]);
$string=str_replace("'84', ","",$arr_where2[0]);
$string=str_replace("'84', ","",$string);
$string=str_replace("'84'","",$string);
$string=str_replace("'5', ","",$string);
$string=str_replace("'5', ","",$string);
$string=str_replace("'5'","",$string);
$where=$arr_where1[0].'term_taxonomy.term_id IN ('.$string.')'.$arr_where2[1].') ';
return $where;
}
return $where;
}
Alles anzeigen
(Die Befehle str_replace kann man noch zusammenfassen, wobei die jeweils 1. Parameter in ein array geschrieben werden und die Funktion str_replace durch preg_replace erstezt werden muss.)
Beide o.g. Funktionen werden übrigens in ein Plugin geschrieben und anschließend aktiviert.
Soweit so gut.
Allerdings habe ich trotzdem noch ein Problem:
Wenn man in der Adresszeile des Browsers die Domainadresse der zu schützenden Kategorie eingibt und anschließend den String /feed dranhängt, dann zeigt er unabhängig, ob man angemeldet ist oder nicht, die Beiträge im Feed an.
Wie kann ich dies verhindern?
Weiß jemand Rat?
Vielen Dank im Voraus für Eure Hilfe.
VG Elke