2009-08-23 2 views
0

Ich versuche, die the_guid() Funktion zu entfernen, die in feed-rss2.php angezeigt wird. Ich habe versucht remove_action('rss2_item', 'the_guid') oder remove_filter aber nichts passiert. Ich habe auch andere Haken wie the_content_rss versucht ...Wie Sie eine Funktion programmgesteuert in einem WordPress RSS-Feed entfernen?

Die Funktion erscheint auf der Leitung 43 von feed-rss2.php, umgeben von <item></item>.

aktualisieren

Mit echo current_filter(), fand ich, dass der Haken do_feed_rss2 ist. Aber ich kann die Funktion immer noch nicht entfernen.

+0

Möchten Sie den ganzen 'GUID'-Knoten oder nur die Funktion loswerden und den Wert durch Ihre eigene Version ersetzen? – random

+0

Ersetzen Sie einfach die Funktion durch meine. – anno

Antwort

1

Sie können die Ausgabe dieser Funktion über einen Filter überschreiben.

add_filter('get_the_guid','my_get_the_guid'); 
function my_get_the_guid($guid) { 
    $my_guid = 'foo'; 
    return $my_guid; 
} 

Mit diesem können Sie die GUID-Ausgabe mit allem, was Sie wollen, überschreiben. Sie können den Knoten in der RSS-Ausgabe nicht löschen, aber Sie können seinen Inhalt steuern. Wenn Sie den Knoten alle zusammen löschen möchten, können Sie eine eigene XML-Vorlage erstellen, diese in Ihrem Design beibehalten und dann mit der Aktion template_redirect das Laden Ihrer Vorlage anstelle der Standardvorlage erzwingen.

Hoffe, dass hilft!

+0

Es funktioniert! Vielen Dank. – anno

0

Sieht aus wie Linie 40 in /wp-includes/feed-rss2.php:

<guid isPermaLink="false"><?php the_guid(); ?></guid> 

Versuchen Sie, dass das Löschen und sehen, was passiert; es ist die einzige Referenz auf die_Guid in der Datei

+0

Löschen ist in Ordnung. Ich möchte es automatisch entfernen (und durch etwas anderes ersetzen) über ein Plugin oder functions.php, so dass ich es nicht nach jedem WordPress-Upgrade manuell ändern muss. – anno

1

-Feed Wrangler Plugin funktioniert gut für die Anpassung von Feeds:

http://wordpress.org/extend/plugins/feed-wrangler/

Grundsätzlich das Plugin installieren, bezeichnet ein Futter mit einem Pfropfen (ex: no-guid), dann fügen Sie ein Feed- no-guid.php Datei zu Ihrem Thema. Sie können die Standard-Feed-Dateien unter wp-includes/ als Basis verwenden und die gewünschten Elemente löschen oder hinzufügen. Auf diese Weise erhalten Sie in Zukunft die vollständige Kontrolle über den Feed und einen klaren Upgrade-Pfad.