Wir haben sehr lange Ladezeiten beim Bearbeiten eines Posts oder einer Seite festgestellt. Bei Verwendung von Query Monitor haben wir festgestellt, dass diese WP-Kernabfrage bis zu 15-20 Sekunden dauert.
SELECT meta_key
FROM wp_postmeta
GROUP BY meta_key
HAVING meta_key NOT LIKE '\\_%'
ORDER BY meta_key
LIMIT 30
caller:
meta_form()
post_custom_meta_box()
do_meta_boxes()
Wir verwenden viel Postmeta, da einer unserer Post-Typen ungefähr 20 benutzerdefinierte Felder verwendet. Ich würde sagen, vielleicht verlassen wir uns zu sehr auf Postmeta, aber dies scheint eine sehr unzulängliche Abfrage zu sein, da nicht einmal die ID des Posts ausgewählt wird.
Ist das ein häufiges Problem? Gibt es eine Möglichkeit, diese Funktion über einen Filter zu deaktivieren? Vielen Dank für jede Eingabe.
meta_form()
Funktion ausgecheckt und dies ist in der Tat die generierte SQL-Abfrage von dieser Kernfunktion. Sie können versuchen, eine eigene benutzerdefinierte Metabox mit Änderungen am Code hinzuzufügen meta_form()
und dort Ihre vorgeschlagene SQL-Abfrage zu verwenden. Ich habe dieses geschlossene Trac-Ticket Nr. 8561 gefunden . Sie könnten vielleicht ein anderes Ticket erstellen oder versuchen, dieses wieder zu öffnen? PS: Beachten Sie, dass die Auswahl der Metabox auf der übergeordneten Seite ebenfalls problematisch ist. Wenn Sie 1 Million Seiten haben, werden alle als ausgewählte Optionen angezeigt!
meta_form()
Funktion ersetzen . Ich habe die Antwort aktualisiert - die SQL-Kernabfrage wurde in WP Version 4.3 angepasst. Sehen Sie bei dieser neuen SQL-Abfrage einen Leistungsgewinn im Vergleich zu unserer zusätzlichen post_id
Einschränkung?