Widgets anzeigen

Während der Entwicklung von Themen verstehe ich, wie man grundlegende Widgets in der Datei functions.php erstellt.

Wenn es jedoch darum geht, das Widget innerhalb eines Themas anzuzeigen, gibt es eine bevorzugte Möglichkeit, sie anzuzeigen – primär, was sind die Vorteile der Verwendung der function ” the_widget() gegenüber der function ” dynamic_sidebar() ?

Solutions Collecting From Web of "Widgets anzeigen"

the_widget() wird verwendet, um ein bestimmtes Widget außerhalb einer Seitenleiste anzuzeigen. Um ehrlich zu sein, diese function dient keinem nützlichen Zweck, da Sie die Parameter der Widget- $instance -Instanz fest codieren müssen. Das bedeutet, dass Sie den Code jedes Mal manuell ändern müssen, wenn Sie etwas ändern müssen. So viel zu Dynamica. Es wäre einfacher, eine benutzerdefinierte function einfach zu codieren und sie dann bei Bedarf in Ihrer Vorlage aufzurufen. Es wird schneller und viel einfacher zu bedienen sein

Bleiben Sie bei Widgets in Sidebars, da sie dynamisch sind und geändert werden können, ohne den Theme- oder Plugin-Code zu berühren. Ich würde lieber zwanzig Seitenleisten kodieren und sie an strategischen Stellen hinzufügen als eine hardcodierte Instanz von the_widget()

Über die dynamic_sidebar() Sie die Widgets im Widgets-Bereich der Darstellungseinstellungen ändern / bearbeiten. Wenn Sie the_widget() verwenden, the_widget() Sie es direkt in die Vorlage, so dass Sie den Code ändern müssen, um zu ändern, was angezeigt wird.

Beide haben ihren Nutzen. Zu viele Sidebars neigen dazu, den Widgets-Bereich zu überladen, ist aber sehr gut für Benutzer, die sich nicht mit dem Code anlegen wollen (oder wenn Sie Widgets / Widget-Einstellungen häufig wechseln).

The_widget ist nicht abhängig von einer Sidebar, so dass es auch verwendet wird, wenn Sie viele benutzerdefinierte Widgets, die Sie um Ihre Vorlagen verwenden, wie in der Fußzeile zum Beispiel haben.

Aber ich glaube nicht, dass es direkte Vorteile gibt, wenn man einen von beiden verwendet, abgesehen von der Usability.

EDIT: Obwohl ich Pieter zustimme, denke ich, dass es zumindest Randfälle gibt, in denen man sich aus the_widget() bedienen kann. Zum Beispiel ein Projekt, an dem ich gerade arbeite, habe ich ein benutzerdefiniertes RSS-Widget für die Anzeige von Icons nach netzwerkweiten Artikeltypen erstellt. (Wir haben mehrere Websites, die alle miteinander verknüpft sind). Wir haben auch diese RSS-Feeds unten auf der Seite, die Inhalte von unseren anderen Seiten zeigen, und ich sehe keine Verwendung einer benutzerdefinierten function mit derselben functionalität, wenn ich bereits ein funktionierendes Widget habe.

Und ja, ich könnte eine Seitenleiste verwenden, um diese Widgets zu zeigen, aber da wir mehrere Leute haben, die die Seiten aktualisieren und nicht alle so technisch versiert sind, dachte ich, es wäre am besten, wenn die Seitenleisten im Grunde nur die Container hätten, die sie bearbeiten müssen.

Also habe ich the_widget , um doppelten Code zu vermeiden und die Oberfläche für andere Admins schlank zu halten. Aber, wie Pieter gesagt hat, ist es wahrscheinlich besser, die Wigdets mit Sidebars so zu benutzen, wie sie es sollen.