Wie sollte ich ein “Widget” ähnliches Element hinzufügen?

Ich möchte eine benutzerdefinierte Diashow wie “Vorlage” hinzufügen, die in anderen Vorlagendateien aufgerufen werden kann.

Mein erster Gedanke war, genau das zu schaffen; eine separate Vorlagendatei slideshow.php, die das entsprechende Markup und die s enthielt. Idealerweise würde es auch ein eigenes Stylesheet enthalten, aber ich bin mir nicht sicher, wie das funktionieren würde, da und nirgendwo anders sein können als in (zumindest noch nicht ).

Dann habe ich über WordPress-Widgets erfahren. Gemessen an dem Namen und der Art dessen, was ich versuche zu tun, dachte ich, dass es vielleicht der richtige Weg war. Ich weiß nicht viel über diese Widgets und was sie tun / wie sie funktionieren (die Beispielvorlage sah aus wie eine Verwechslung von PHP, die für Dinge, die ich machen wollte, nicht wirklich relevant schien), selbst nach dem Durchlesen der relevanten Seite in der WordPress-Kodex.

Welcher Ansatz erscheint logischer?
Wann sollte man eine Vorlage verwenden und wann sollte man ein Widget verwenden?


Ich bin völlig neu in WordPress, daher könnte meine Terminologie nicht korrekt sein. In der Tat könnte ich in vielen Dingen nicht richtig liegen: P

Solutions Collecting From Web of "Wie sollte ich ein “Widget” ähnliches Element hinzufügen?"

Das liegt ganz bei Ihnen. Beide Ansätze sollten das Gleiche tun. Ich glaube wirklich, dass Sie Probleme mit der korrekten Implementierung Ihrer ersten Wahl / Vorgehensweise haben.

Sie versuchen, eine separate Vorlage für Ihre Diashow zu verwenden und diese dann mit get_template_part() . Das Problem scheint Ihr Styling zu sein. Stil-Tags sind außerhalb der -Tags gültig. Dies wird für Inline-Stile verwendet. Es wird jedoch nicht empfohlen, Inline-Stile zu verwenden, da sie schwer mit untergeordneten Designs zu überschreiben sind und Plug-Ins und Inline-Stile nicht sein können entfernt, indem man es einfach aus der Warteschlange nimmt oder abmeldet.

Was außerhalb der Tags nicht erlaubt ist, sind Link-Tags. Das ist ein ungültiger HTML-Code, falls Sie das tun sollten.

Unabhängig davon, ob Sie sich für einen Schablonenteil eines Widgets entscheiden oder nicht, müssen Sie Ihre Stile laden, sodass Sie bei beiden Ansätzen wieder auf Platz eins kommen, wenn Sie Ihre Stile nicht korrekt laden. Hier erfahren Sie, wie Sie Ihre Stile korrekt laden

  • Erstellen Sie ein neues Stylesheet und nennen Sie es wie es Ihnen gefällt, etwa slider-style.css

  • Fügen Sie alle Stile für Ihren Schieberegler in dieser Datei hinzu.

  • Platzieren Sie Ihr Stylesheet mit wp_enqueue_style() innerhalb einer function. Wenn Sie Ihr Stylesheet bedingt laden müssen, verwenden Sie wp_register_style() , um den Stil zu registrieren und dann Ihren Stil bedingt einzuordnen

  • wp_enqueue_scripts deine function an wp_enqueue_scripts . Dadurch werden Ihre Stile zu wp_head

Beispiel:

Angenommen, Ihr Schieberegler wird nur auf der Startseite verwendet. Sie können Folgendes versuchen

 add_action( 'wp_enqueue_scripts', 'enqueue_slider_styles', PHP_INT_MAX ); function enqueue_slider_styles() { wp_register_style( 'slider-styles', get_template_directory_uri() . '/slider-style.css' ); if ( is_home() ) { wp_enqueue_style( 'slider_styles' ); } } 

Dadurch wird nun nur das Slider-Stylesheet auf der Startseite geladen. Ich habe hier ein übergeordnetes Thema angenommen, wenn Sie ein untergeordnetes Thema verwenden (das Sie immer verwenden sollten, wenn Sie Änderungen an einem Thema vornehmen möchten, das Sie nicht selbst geschrieben haben), dann sollten Sie get_stylesheet_directory_uri() anstelle von get_template_directory_uri()

VERWEISE:

  • wp_enqueue_style()

  • wp_register_style()

  • wp_enqueue_scripts