Der Feed-Cache von WordPress wird in der Datenbank abgelegt, Tabelle options und manchmal möchte man diesen löschen. Mittels ein wenig SQL ist das schnell erledigt - hat aber keinen Fallback, aufpassen!
Innerhalb von WordPress tue ich dies mit Hilfe des Plugins Adminer, was einen kompletten mySQL Zugriff erlaubt und trotzdem im Backend von WordPress nutzbar ist. Alternativ geht natürlich auch jedes andere Tool, beispielsweise phpMyAdmin.

Mit Hilfe der folgenden Syntax ist der Cache schnell gelöscht, der Beispielpräfix wp_ muss natürlich angepasst werden.
DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient%_feed_%')
Wofür ist der FeedCache denn innerhalb von WordPress gut?
@LexXX Noel: damit im backend die Feeds nicht immer live geladen werden müssen, gerade im Backend kann das sonst lange dauern.
Hallo Frank,
ist es eigentlich möglich den Feed Cache zu Deaktivieren?
Könnt darauf z.B. gut verzichten und mir die News über meinen Feedreader bzw. Thunderbird reinholen.
Würde ja auch gleichzeitig zur entlastung und vermüllung der Datenbank beisteuern.
@Fabian: ja, geht - dazu müsste es reichen, wenn man den Cron deaktiviert; weiß ich aber so auf die schnelle nicht. Nutze mal das Plugin Crontrol und schaue mal danach.
Steht nicht da http://bueltge.de/feed-cache-von-wordpress/1039/ was zum Deaktivieren des Feed-Cache?
@Sergej: nicht ganz; allerdings könnte man die Zeit so klein via Hook setzen, dass es quasi weg ist - DANKE dir vielmals.
Damit ist der Cache quasi weg, nicht in der DB aber durch den kleinen Wert ist immer ein Refresh nötig.
Im Übrigen kann man diesen Code seit WP 3.0 auch ein wenig schöner schreiben, WP hat entsprechende Funktion dafür im Core:
add_filter( 'wp_feed_cache_transient_lifetime', '__return_zero' );
funktioniert bei mir nicht -- der Feed Cache exsitiert immer noch.
Muss ich noch etwas anderes beachten?
@Eric: der cache bleibt auch, wie ich geschrieben habe, aber die "Lebenszeit" ist 0 und damit muss WP immer wieder neu laden.
Kurze Info, muss der Feedcache erfolgen? Oder kann man sich den auch "kneifen"?
@Nick: der ist immer da, man kann nur die "Lebenszeit" verkürzen und ihn damit quasi gen 0 setzen, so dass es keinen Cache gibt, siehe anderen Kommentare hier.
Hi Cooler Post, besonders der Adminer ist ein geniale Empfehlung danke für den äusserst gelungenen Post.
LG
Mark
Erstmal Danke für den Beitrag. Und nun will ich WordPress mal nen Wink mit dem Zaunpfahl geben. Sorry,aber das muss jetzt sein. Ich habe in den Transients wieder etwas gefunden, was die Datenbank nur sinnlos zumüllt und aufplustert. WordPress scheint es offenbar Spaß zu machen alles auf lasten der DB zu setzen. Von PHP Speicherauslastung fang ich wohl besser gar nicht erst an.
So genug drüber gemeckert, vielleicht kommen sie auf die Idee und berücktsichitgen das irgendwann einmal.
Also ich hab festgestellt,wenn ich die Feeds im Backend abschalte und die transients_feed.. lösche,das sie auch nicht wieder neu erscheinen. Das genügt offenbar erstmal.
Und zum anderen hatte ich alle trasients gelöscht, da sie veraltet waren. Die "notwendigen" werden eh neu angelegt. Das ganze hat meine wp_options Tabelle am ende um 4/5 verkleinert. Da merkt man wie sinnfrei es manchmal ist was WordPress da alles reinballert,was man nicht unbedingt braucht.
Ja, du kannst da einiges mache, gerade die Feeds im Backend braucht nicht jeder Kunde und über eine Konstante kann man dies recht einfach machen.
define( 'WP_HTTP_BLOCK_EXTERNAL', TRUE );Wobei die Konstante mehr anfasst, kommt auf einen Test an.Danke für den Tipp, Frank.
Diese Lösung wäre sicherlich denkbar,nur blockiert es meines Wissens alle,die etwas an mich senden wollen. Das dürfte dann vermutlich auch die Information über eine neue WordPress Version und Pluginupdates betreffen.
Habe die class-feed.php einfach gelöschen und siehe da, es passiert nichts ^^
WordPress lädt die Feeds nicht mehr und legt auch keine Einträge in der Datenbank dazu an. Daher wäre das sicherlich auch eine Lösung, ob diese Sauber ist,das ist eine andere Frage.
Mein "Problem" löst es jedenfalls dahingehend,dass die Widgets im Dashboard nicht mehr funktionieren, wobei auch schon bloßes Ausblenden genügt. Wenn aber mehrere Benutzer diese Widgets verwenden,dann würden diese wieder Spuren in der Datenbank hinterlassen,was ich vermeiden möchte.