In unserer Wordpress 3.0 Multi-Site-Installation haben wir eine benutzerdefinierte Option für alle unsere Blogs namens "Plattform". Administratoren können einen Wert für diese Plattform eingeben, wenn sie ein Blog erstellen oder bearbeiten. Einige Blogs haben möglicherweise keine Plattform.Wie kann ich gleichzeitig alle Blog-Optionen in einer Wordpress Multisite-Installation (3.0) abfragen?
Wir müssen in der Lage sein, eine Liste aller Plattformen und ihrer zugehörigen Blogs zu erstellen. Das Problem ist, dass wir Blogs dynamisch über andere Site-Mechanismen erstellen und löschen. Daher haben wir viele Blog-Optionstabellen mit Nummern, die nicht unbedingt zusammenhängend sind. (zB wp_2_options, wp_4_options, wp_12_options, etc.)
Meine Frage ist das, gibt es einen Weg in Wordpress eine Option über alle Blogs zu ergattern? Gibt es umgekehrt eine Abfrage, die ich manuell ausführen könnte? Ich habe so etwas wie dies zu keinem Effekt versucht:
SELECT * FROM (SELECT table_name VON INFORMATION_SCHEMA.TABLES WHERE table_name wie 'wp _% _ Optionen') als t WHERE option_name = 'Plattform'
Macht es Sinn, was ich zu tun versuche? Nochmals, ich entschuldige mich für mein fehlendes MySql-Wissen, aber ich konnte keine Antworten darüber finden, wie das geht. Ich könnte auch alle diese Tabellennamen zuerst abfragen und dann jede Tabelle einzeln abfragen, aber das ist nicht wirklich eine Option, weil wir viele Blogs haben, und wir müssen diese Abfrage für viele Seitenanforderungen gleichzeitig ausführen, und dies würde Hunderte von hinzufügen Anfragen an jede dieser Anfragen.
Jeder Rat oder Hilfe, die Sie geben könnten, würde sehr geschätzt werden.
Dank. Wissen Sie, wie Sie mehrere Optionen abfragen können? – Alex
Hmmm, ich glaube, Sie müssten nur die WHERE-Klausel Ihrer inneren Abfragen ändern. Etwas wie: "... WHERE option_name = '$ option_name1' ODER option_name = '$ option_name2'"; ... Sie könnten auch MYSQL IN clase "... WHERE option_name IN ('$ option_name1', '$ option_name2')" Ich hoffe, das hilft! –