Wir möchten die Widgets-Seite im Admin-Bereich etwas anders gestalten, hauptsächlich, um dem Site-Administrator zu helfen, zu verstehen, wo jedes Widget auf der Site angezeigt wird:
Dazu müssen wir den HTML-Code ändern, den widgets.php rendert (es reicht nicht aus, nur das CSS zu ändern). Wie würden wir das tun, ohne den Kern zu berühren?
widgets
wp-admin
core-modifications
Lea Cohen
quelle
quelle
Antworten:
Wenn Sie Ihr WordPress auf 3.3.1 aktualisieren, was Sie unbedingt tun sollten, verfügt jeder Widget-Bereich im Administrator jetzt über eine ID, mit der Sie über CSS zielen können. Dies sollte wirklich ausreichen. Ein Beispiel finden Sie unter http://core.trac.wordpress.org/ticket/18334 .
quelle
Ich kann die Frage nicht aus dem Kopf bekommen, aber ich habe keine Zeit für eine vollständige Lösung. Also schreibe ich hier einfach meine Idee auf, dann setze ich ein kleines Kopfgeld.
Es ist eine Aktion
'widgets_admin_page'
inwp-admin/widgets.php
über dem anderen Inhalt. Hier können Sie ein Vorschaufenster platzieren.Beispielcode:
Dadurch wird ein Array aller registrierten Seitenleisten ausgedruckt. Sie müssen durch alle Seitenleisten gehen, um die registrierten Widgets zu finden.
Um die Vorschau nützlich zu machen, benötigen Sie zwei Dateien: eine HTML-Vorlage und ein Stylesheet.
Ich würde verwenden
add_theme_support()
.Beispielcode für das Thema
functions.php
:In der
show_widget_preview()
Warteschlange befindet sich das Stylesheet und die Vorlage wird geladen. Rendern Sie die registrierten Seitenleisten in den vordefinierten Platzhaltern inwidget-preview.php
.Aktualisieren Sie die Vorlage per AJAX, nachdem der Benutzer in einem Widget auf die Schaltfläche Speichern geklickt hat.
Herausforderungen: Berücksichtigen Sie den Eingabehilfenmodus, kleine Fenster und CSS-Konflikte. Zeigen Sie eine nützliche Meldung an, wenn keine Seitenleiste registriert ist (Seitenleistenbeschreibungen?). Was soll passieren, wenn ein Benutzer versucht, ein Widget in das Vorschaufenster zu ziehen? :) :)
quelle
Die kurze Antwort lautet: Sie können nicht, nicht ohne den Kern zu berühren.
Sie können jedoch die Beschreibung jedes Widgetbereichs (den Text unter dem Titel des Widgetbereichs) in der Funktion register_sidebar festlegen.
quelle