Erinnern Sie sich an die Zeiten, als wir Optionsseiten für unsere Themen erstellen mussten? Natürlich tun Sie das, weil wir sie noch brauchen! Wenn der Customizer von WordPress bei der Handhabung der Funktionalität Ihres Themas nicht ausreicht, müssen Sie eine zusätzliche Optionsseite erstellen, um Ihren Benutzern eine bessere Benutzererfahrung zu bieten.
Es ist zwar immer eine Option, diese Optionsfelder von Grund auf zu erstellen, es ist jedoch besser, die bereits erfundenen Räder zu verwenden. In diesem Teil der "Toolbox des Smart WordPress Developer" werden wir Vafpress, ein solides WordPress-Theme-Framework für Ihr nächstes Theme-Projekt, vorstellen.
Zeit für Kontroversen: Ich denke nicht, dass der Customizer noch für Themen bereit ist.
Auch wenn ich zugebe, dass der Customizer einfach eine genial Werkzeug kann ich auch sehen, dass es einfach nicht ist qualifiziert um alle Funktionen eines einfachen Mehrzweck-Themas zu bedienen. Ich weiß, ich weiß, Mehrzweckthemen sind seelenlose, kapitalistische Themen, die die Welt von WordPress ruinieren ... oder sind sie? Ich gebe zu, dass es besser wäre, wenn Einzelthemen populärer wären, aber können wir die Tatsache ignorieren, dass Mehrzweckthemen die erste Wahl der meisten Designagenturen, Freelancer und sogar Neulinge sind, die WordPress-Benutzer erstellen möchten eine Website für ihre Unternehmen?
Am Ende des Tages müssen wir uns fragen, um die Notwendigkeit von Theme-Option-Frameworks gegen den Customizer zu verstehen: WordPress für WordPress oder WordPress für die Menschen? Ich unterstütze zwar die zunehmende Vereinheitlichung von WordPress in verschiedenen Aspekten, aber ich denke auch, dass wir die Anforderungen der Benutzergemeinschaft von WordPress nicht ignorieren können. Wenn wir als Entwickler die Anforderungen der Benutzer ignorierten, wäre WordPress nicht so groß geworden wie jetzt.
Außerdem glaube ich nicht, dass der Customizer (noch) nur für Einzelthemen ausreicht. Wir haben noch nicht einmal eine standardisierte und zentralisierte Möglichkeit, Inhaltselemente (wie Schieberegler, Menüs usw.) zu erstellen. Was auch immer Sie dagegen sagen, WordPress-Benutzer benötigen (und werden immer) eine einzige Schnittstelle zur Steuerung ihrer Themen.
Ich halte diesen Abschnitt kurz, weil das Thema Vafpress als WordPress-Entwicklertool ist und ich für weitere tausend Wörter über "Customizer versus Theme-Option-Frameworks" sprechen kann. Aber lassen Sie mich nicht zu kurz kommen, um Sie davon abzuhalten, zu kommentieren: Ich würde gerne Ihre Meinung dazu hören!
An dieser Stelle ist es unnötig zu sagen, aber es ist üblich, jeden Abschnitt mit einer einfachen Einführung zu öffnen: Vafpress ist ein Framework für Themenoptionen. Und eine sehr gute, sollte ich sagen. Vafpress, von Vafour, einem indonesischen Web-Entwicklungsteam, gegründet, behauptet dies Das Erstellen eines WordPress-Themas war noch nie einfacher und schneller.
Laden Sie Vafpress einfach von seiner offiziellen Downloadseite oder seinem GitHub-Repository herunter, und kommen Sie schnell zu den guten Teilen.
An dem Tag, an dem ich dieses Tutorial schreibe, verfügt Vafpress über 19 Kontrollfelder, die in zwei Kategorien unterteilt sind, die als "Fields" und "Multifields" bezeichnet werden..
Textfeld
: Erzeugt eine Texteingabe.Textbereich
: Erzeugt eine Textbereich
Feld.Umschalten
: Erzeugt eine Ja / Nein-Umschaltung.Schieberegler
: Erzeugt einen Bereichsschieberegler.hochladen
: Erzeugt ein Upload-Feld mit WordPress Media Manager.Farbe
: Erzeugt eine Farbauswahl.Datum
: Erzeugt eine Datumsauswahl.Codeeditor
: Erzeugt einen Code-Editor.wpeditor
: Erzeugt einen WYSIWYG-Editor.fontawesome
: Erzeugt eine Symbolauswahl mit Font Awesome.Notebox
: Erzeugt ein Feld, mit dem Sie die Benutzer Ihres Themas informieren können.html
: Ermöglicht die Anzeige von benutzerdefiniertem HTML-Code.wählen
: Erzeugt eine einfache
Feld.Mehrfachauswahl
: Erzeugt ein Dropdown-Menü.Kontrollkästchen
: Erzeugt eine Gruppe von Kontrollkästchen.Checkimage
: Erzeugt eine Gruppe von auswählbaren Bildern, die wie Kontrollkästchen funktionieren.Radio knopf
: Erzeugt eine Gruppe von Optionsfeldern.Radioimage
: Erzeugt eine Gruppe auswählbarer Bilder, die wie Optionsfelder funktionieren.Sorter
: Erzeugt ein sortierbares Multiselect-Feld.Es würde sich nicht richtig anfühlen, wenn ich diesen Abschnitt nicht ohne ein Beispiel beenden würde. Lassen Sie uns einen einfachen, einfachen Abschnitt machen. Die folgenden Codezeilen erstellen ein Farbauswahlfeld:
array (array ('type' => 'color', 'name' => 'example_color_picker', 'label' => 'Color Picker', 'description' => 'Legen Sie hier eine Farbe für Ihre Überschriften fest!', 'default' '=>' rgba (255,255,255, .75) ',' format '=>' hex ',), array (// ein anderes Feld),)?>
Dieser Teil ist anfangs schwierig, hat aber eine glatte Lernkurve.
Das Optionsfeld, das wir mit Vafpress erstellen können, besteht aus mehreren Bausteinen:
Beginnen wir mit dem Aufbau des Builders für "Optionsseiten":
false, // der Name für die Einstellungen in der Datenbank 'option_key' => 'vpt_option', // der Slug Ihrer Optionsseite 'page_slug' => 'vpt_option', // Pfad zur Vorlagendatei oder zur Array-Vorlage '=> get_template_directory (). '/options-template.php', // übergeordnete Menüseite 'menu_page' => 'themes.php', // entscheidet, ob Menüs automatisch benannt werden oder nicht 'use_auto_group_naming' => true, // show (standardmäßig) oder Blenden Sie die Seite "Export / Import" aus. "use_exim_menu" => true, // Minimale Benutzerrolle zum Anzeigen des Optionsbereichs "minimum_role" => 'edit_theme_options', // Typ des Layouts (standardmäßig festgelegt) 'layout' => 'fixed', // Titel der Optionsseite 'page_title' => __ ('Theme-Optionen', 'vp_textdomain'), // Titel des Hauptmenüpunkts 'menu_label' => __ ('Theme-Optionen', 'vp_textdomain.) '),)); // haken Sie es in die after_setup_theme-Aktion add_action ein ('after_setup_theme', 'my_options')?>
Der "Builder für Optionsseiten" bietet die Möglichkeit, auf eine separate Datei zu verweisen, in der alle Ihre Menüs (und Abschnitte innerhalb der Menüs und Felder innerhalb der Abschnitte) beibehalten werden. In dem obigen Beispiel haben wir auf eine Vorlagendatei mit dem Namen options-template.php
. Mal sehen, wie die Datei auch gefüllt wird:
__ ('Vafpress Option Panel', 'vp_textdomain'), 'logo' => ", 'Menüs' => array (array ('title' => __ ('Spezielle Steuerelemente', 'vp_textdomain'), 'name' = > 'menu_2', 'icon' => '/icon/special.png', 'controls' => array (//… Sammlung von Abschnitten und oder Kontrollfeldern ...)))));?>
Wenn Sie möchten, können Sie auch einige "verschachtelte Menüs" verwenden:
__ ('Vafpress Option Panel', 'vp_textdomain'), 'logo' => ", 'Menüs' => array (array ('title' => __ ('Standard HTML Controls', 'vp_textdomain'), 'name' => 'menu_1', 'icon' => 'font-awesome: icon-magic', 'Menüs' => array (array ('title' => __ ('Regular', 'vp_textdomain'), 'name' = > 'submenu_1', 'icon' => 'font-awesome: icon-th-large', 'controls' => array (//… Sammlung von Abschnitten und oder Kontrollfeldern ...))), array ('title' = > __ ('Image', 'vp_textdomain'), 'name' => 'submenu_2', 'icon' => 'font-awesome: icon-picture', 'controls' => array (//… Sammlung von Sections und oder Kontrollfelder…),),),),));?>
Und in der Reihe der 'Kontrollen'
Argumente verwenden wir etwas wie das Folgende:
array (array ('title' => __ ('TextBox und TextArea', 'vp_textdomain'), 'name' => 'section_1', 'description' => __ ('TextBox und TextArea Showcase', 'vp_textdomain'), 'fields' => array (//… Sammlung von Kontrollfeldern ...),),)?>
Auch dies kann zunächst etwas Übung erfordern, aber es ist ein Spaziergang im Park, wenn man sich erst einmal daran gewöhnt hat.
Alle diese Funktionen sollten für ein Framework wie Vafpress ausreichen, aber Vafpress hört nicht auf - es hat noch ein paar Tricks im Ärmel:
Mit Vafpress können Sie viel erreichen - mehr als wir in diesem Tutorial behandelt haben. Lesen Sie die Vafpress-Dokumentation, um mehr darüber zu erfahren.
Was denkst du über Vafpress? Glauben Sie, dass Sie ihm bei Ihrem nächsten Themenprojekt eine Chance geben werden? Sagen Sie uns im Kommentarfeld, was Sie davon halten. Und wenn Ihnen der Artikel gefallen hat, vergessen Sie nicht, ihn mit Ihren Freunden zu teilen!
Wir sehen uns im nächsten Teil, in dem wir uns mit CMB2, einer Metabox, benutzerdefinierten Feldern und Formularbibliotheken für WordPress befassen.