Eine Sache, an die WordPress -Benutzer gewöhnt haben, ist einfach, kein Code erforderlich, um die Optionen für die Themenanpassung zu erfordern. Die Idee ist: Laden Sie ein Thema herunter, aktivieren Sie es im Themenfeld, greifen Sie auf das Anpassungsfeld zu und beginnen Sie mit nur einem Mausklick die Farben, Layout, Schriftarten usw. des Themas.
WordPress bietet Themenentwicklern die Customizer -API. Dies ist ein sauberer, objektorientierter Satz von Methoden, die die Erstellung einer konsistenten Anpassungsschnittstelle erleichtern. Im Panel anpassen können Benutzer problemlos Änderungen vornehmen und sie live-Vorsicht vornehmen, ohne sich mit PHP- oder CSS-Code anlegen zu müssen.Entwickeln von Themenoptionen mithilfe der Customizer -API, während er ein einfacher und logischer Prozess ist, beinhaltet das Schreiben einer bestimmten Menge an sich wiederholender Code. Um einige der Schritte zu reduzieren, die für die Erstellung funktionierender und sicherer Customizer-Optionen erforderlich sind, hat Aristeides Stathopoulos ein kostenloses und offenes Plugin, Kirki, entwickelt.
In diesem Beitrag werde ich zeigen, wie Sie Kirki in Ihr WordPress -Thema integrieren und wie Sie es verwenden, um einige Customizer -Optionen zu erstellen.
Key Takeaways
Kirki ist kein Rahmen. Es ist ein Toolkit, das es WordPress -Entwicklern ermöglicht, den Customizer zu verwenden und seine erweiterten Funktionen und Flexibilität zu nutzen, indem er den Code abstrahiert und es jedem erleichtert, schöne und aussagekräftige Benutzererlebnisse zu erstellen.Ich möchte zwei Punkte zu diesem Toolkit nach Hause fahren.Kirki -Dokumentation
Es ist Zeit, Kirki in Aktion zu sehen. Wenn Sie mitmachen möchten, haben Sie ein WordPress -Thema bereit oder schnappen Sie sich das Superminimal -Demo -Thema, das den gesamten Code enthält, der in diesem Beitrag besprochen wird.
Kirki ist als WordPress -Plugin verpackt. Daher können Sie es vom WordPress.org Plugins -Repository oder direkt aus dem Backend Ihrer WordPress -Installation herunterladen und aktivieren und aktivieren.
Wenn Sie es vorziehen, Kirki in Ihr Thema als Bibliothek aufzunehmen, befolgen Sie die unten beschriebenen Schritte.
Kopieren Sie das Kirki -Verzeichnis in den Ordner Ihres Themas.
Im Demo -Thema für diesen Artikel befinden sich die Kirki -Dateien in einem Verzeichnis namens Inc.
Machen Sie Ihr Thema mit Kirki "Gespräch", indem Sie diese Zeile zu Funktionen.php hinzufügen (Stellen Sie sicher, dass Sie den Pfad an den Kirki -Ordner anpassen, um die Dateistruktur Ihres Themas zu entsprechen).
<span>if ( ! class_exists( 'Kirki' ) ) { </span> <span>include_once( dirname( __FILE__ ) . '/inc/kirki/kirki.php' ); </span><span>}</span>
Fügen Sie eine Funktion hinzu, die die Kirki -Konfigurationsoptionen einbezieht und an den Kirki/Konfigurationsfilter angeschlossen wird. Es liegt an Ihnen, was Sie dieser Funktion hinzufügen möchten. Lassen Sie uns für diesen Beitrag auf ein Minimum durchführen, indem Sie den Code hinzufügen, den Kirki -Anforderungen hinzufügen, um den neuen Standort „aufmerksam“ zu machen, d. H. Der Ordner des Themas anstelle des Ordners des Plugins.
<span>function superminimal_customizer_config() { </span> <span>$args = array( </span> <span>// Only use this if you are bundling the plugin with your theme </span> <span>'url_path' => get_stylesheet_directory_uri() . '/inc/kirki/', </span> <span>); </span> <span>return $args; </span> <span>} </span> <span>add_filter( 'kirki/config', 'superminimal_customizer_config' );</span>
In dieser Konfigurationsfunktion können Sie das Erscheinungsbild des WordPress Customizer für Ihr Thema steuern. Am wichtigsten ist, dass Sie hier den Code hinzufügen, der erforderlich ist, um alle Zeichenfolgen zu erstellen, die das Plugin aus Ihrem Thema übersetzbar übersetzt. Schauen Sie sich das Superminimal -Demo -Thema oder die Kirki -Dokumentationsseite an, um eine Anleitung dazu zu erhalten.
Kirki ist jetzt bereit, uns zu helfen, einige Customizer -Optionen zu erstellen. Sie können Funktionen.php verwenden oder eine dedizierte Datei für die Aufgabe erstellen, sie liegt an Ihnen.
Customizer -Optionen in Abschnitten leben, die sich optional in Panels befinden. In dem Demo -Projekt dieses Artikels gruppieren ich alle Abschnitte in einem dedizierten Panel mit nativen Customizer -Methoden wie so.
<span>if ( ! class_exists( 'Kirki' ) ) { </span> <span>include_once( dirname( __FILE__ ) . '/inc/kirki/kirki.php' ); </span><span>}</span>
Fügen Sie als Nächstes Abschnitte für die Site -Textfarben, das Site -Layout und die Fußzeilentextoptionen hinzu, indem Sie diesen Code direkt unter der vorherigen add_panel Customizer -Methode platzieren.
<span>function superminimal_customizer_config() { </span> <span>$args = array( </span> <span>// Only use this if you are bundling the plugin with your theme </span> <span>'url_path' => get_stylesheet_directory_uri() . '/inc/kirki/', </span> <span>); </span> <span>return $args; </span> <span>} </span> <span>add_filter( 'kirki/config', 'superminimal_customizer_config' );</span>
Jetzt können Sie die erste kirki-betriebene Option hinzufügen.
Alle Ihre Options-bezogenen Code sind in einer Funktion platziert zu werden. Diese Funktion wird dann durch den Kirki/Fields -Filter gefiltert.
<span>function superminimal_demo_panels_sections( $wp_customize ) { </span> <span>/** </span><span> * Add Panel </span><span> */ </span> <span>$wp_customize->add_panel( 'sitepoint_demo_panel', array( </span> <span>'priority' => 10, </span> <span>'title' => __( 'SitePoint Demo Panel', 'superminimal' ), </span> <span>'description' => __( 'Kirki integration for SitePoint demo', 'superminimal' ), </span> <span>) ); </span> <span>//More code to come </span> <span>} </span> <span>add_action( 'customize_register', 'superminimal_demo_panels_sections' );</span>
Geben wir Ihren WordPress -Themenbenutzern eine einfache Möglichkeit, die Textfarbe zu ändern. Dies geschieht schnell mit Kirki. Fügen Sie den folgenden Code -Snippet in die Funktion superminimal_demo_fields () hinzu, direkt über den Return $ Fields. Stellungnahme.
<span>/** </span><span> * Add a Section for Site Text Colors </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_text_colors', array( </span> <span>'title' => __( 'Site Text Colors', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) ); </span> <span>/** </span><span> * Add a Section for Site Layout </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_site_layout', array( </span> <span>'title' => __( 'Site Layout', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) ); </span> <span>/** </span><span> * Add a Section for Footer Text </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_footer_text', array( </span> <span>'title' => __( 'Footer Text', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) );</span>
Kirki bietet eine kondensierte Syntax, um sowohl eine Einstellung als auch eine damit verbundene Kontrolle auf einmal hinzuzufügen.
Lassen Sie uns die $ Fields [] Array aufschlüsseln.
Nach dem Beispiel können Sie auch eine Farboption für Links hinzufügen.
Geben Sie als nächstes den Benutzern Ihres Themas die Option zum Anpassen des Site -Layouts an.
Kirki bietet eine Reihe hoch entwickelter Customizer -Steuerelemente. Mein Favorit ist die Radio -Image -Steuerung.
So können Sie es Ihrem Thema hinzufügen, um den Benutzern die Möglichkeit zu bieten, das Layout ihrer Website zu ändern.
<span>function superminimal_demo_fields( $fields ) { </span> <span>//Add code here </span> <span>return $fields; </span> <span>} </span> <span>add_filter( 'kirki/fields', 'superminimal_demo_fields' );</span>
Platzieren Sie den Code oben direkt nach den vorherigen $ Fields [] Array -Snippet. Beachten Sie, wie kein Ausgabeparameter zum Code hinzugefügt wurde. Dies liegt daran, dass der Wert jeder Funkbildeingabe kein CSS -Eigenschaftswert ist.
Die Art und Weise, wie Sie den Wert aus der Einstellung von Superminimal_Layout extrahieren können, erfolgt nach der native Customizer get_theme_mod -Methode. Sie verwenden diesen Wert dann als Wert eines geeigneten HTML -Elements eines geeigneten HTML -Elements in der Vorlagendatei. Schließlich geht es nur darum, das entsprechende CSS zu schreiben, um das gewünschte Layout für die .Fullwidth, SideBar-Left und SideBar-Right-Klassen in Ihrem Stylesheet zu erreichen.
Schauen Sie sich die Details zur Implementierung der Layout -Option im Superminimal -Demo -Thema an.
Wie oft sind Sie auf WordPress -Themenbenutzer gestoßen, die Sie bitten, ihnen dabei zu helfen, die Entwickler in den Fußzeilenbereich ihres Themas zu ersetzen? Durch das Hinzufügen einer Option, mit der Benutzer den Fußzeilentext einfach vom Customizer verwalten können, dauert es ein paar Minuten mit Kirki. Hier ist der Code.
<span>if ( ! class_exists( 'Kirki' ) ) { </span> <span>include_once( dirname( __FILE__ ) . '/inc/kirki/kirki.php' ); </span><span>}</span>
Der obige Code gibt eine textarea aus, in der Benutzer Urheberrechtsbekanntmachungen, Credits usw. schreiben können
Um den in der textarea eingegebenen Text zu extrahieren und anzuzeigen, verwenden Sie die native Customizer -Methode Get_THEME_MOD in footer.php wie folgt.
<span>function superminimal_customizer_config() { </span> <span>$args = array( </span> <span>// Only use this if you are bundling the plugin with your theme </span> <span>'url_path' => get_stylesheet_directory_uri() . '/inc/kirki/', </span> <span>); </span> <span>return $args; </span> <span>} </span> <span>add_filter( 'kirki/config', 'superminimal_customizer_config' );</span>
Schauen wir uns als nächstes an, was mehr Kirki tun kann, um die Benutzererfahrung mit dem WordPress Customizer zu verbessern.
Als Themendesigner möchten Sie Benutzer nicht gerne mit einer Vielzahl verwirrender Optionen überwältigen. Einige Auswahlmöglichkeiten müssen erst getroffen werden, bis Benutzer eine spezifische Option auswählen. Der Customizer bietet den praktischen Active_Callback -Parameter für Panels, Abschnitte und Steuerelemente. Sie können diesen Parameter auf eine bestimmte Bedingung einstellen, die erfüllt sein muss, bevor ein Panel, ein Abschnitt oder eine Steuerung im Anpassung angezeigt wird.
Was hat Kirki in dieser Hinsicht zu bieten?
Die Kirki -API verwendet den erforderlichen Parameter, um eine Steuerung im Customizer auf der Grundlage des Wertes einer anderen Steuerung auszublenden oder anzuzeigen.
Nehmen wir beispielsweise an, Sie möchten dem Textbereich anweisen, dass Benutzer den Fußzeilentext nur ändern können, wenn sie ein Kontrollkästchen überprüfen. Um dies zu erreichen, fügen Sie den folgenden Code dem Control superminimal_footer_text hinzu.
<span>function superminimal_demo_panels_sections( $wp_customize ) { </span> <span>/** </span><span> * Add Panel </span><span> */ </span> <span>$wp_customize->add_panel( 'sitepoint_demo_panel', array( </span> <span>'priority' => 10, </span> <span>'title' => __( 'SitePoint Demo Panel', 'superminimal' ), </span> <span>'description' => __( 'Kirki integration for SitePoint demo', 'superminimal' ), </span> <span>) ); </span> <span>//More code to come </span> <span>} </span> <span>add_action( 'customize_register', 'superminimal_demo_panels_sections' );</span>
Hinzufügen des Snippets oben zum Code für die Textregalea -Steuerung stellt sicher, dass der Wert des Superminimal_reveal_foters_text -Steuerelements gleich 1 entspricht, bevor die TextArea -Steuerung im Customizer angezeigt wird. Fügen wir der Funktion Superminimal_Demo_Fields () die Funktion Superminimal_Demo_Fields () die Funktion des Superminimal_Demo_Fields () hinzu.
<span>/** </span><span> * Add a Section for Site Text Colors </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_text_colors', array( </span> <span>'title' => __( 'Site Text Colors', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) ); </span> <span>/** </span><span> * Add a Section for Site Layout </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_site_layout', array( </span> <span>'title' => __( 'Site Layout', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) ); </span> <span>/** </span><span> * Add a Section for Footer Text </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_footer_text', array( </span> <span>'title' => __( 'Footer Text', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) );</span>
Das Control Superminimal_reveal_foter_text ist ein Kontrollkästchen, das standardmäßig auf 0 gesetzt ist, dh es ist deaktiviert. Dies verhindert, dass das Textbereich angezeigt wird.
Erst nach Überprüfung des Kontrollkästchens, dh durch Ändern des Wertes von 0 auf 1, wird der Textbereich im Customizer angezeigt.
Der Customizer verfügt über eine leistungsstarke JavaScript -API, um dem Vorschau -Bereich AJAX -Funktionen zu verleihen. Mit dieser Verbesserung können Benutzer ihre Modifikationen in Echtzeit überprüfen, ohne auf die gesamte Vorschau -Seite zu warten, um sich zu aktualisieren.
Wir können das gleiche Ergebnis mit Kirki erreichen, indem wir einfach ein paar praktische Parameter zu den $ Fields [] -Array hinzufügen.
zum Beispiel, um der Einstellung von Superminimal_Body_Color eine Ajaxified Live -Vorschau zur Einstellung von Superminimal_Body_Color hinzuzufügen, fügen Sie das folgende Snippet an das entsprechende $ Fields [] -Array hinzu.
<span>if ( ! class_exists( 'Kirki' ) ) { </span> <span>include_once( dirname( __FILE__ ) . '/inc/kirki/kirki.php' ); </span><span>}</span>
Lassen Sie mich erklären, was der obige Code tut.
als Beispiel dafür, wie Sie den HTML -Wert verwenden können, fügen wir der Einstellung, die Änderungen am Fußzeilentext verwaltet, AJAX Live -Vorschau -Funktionalität hinzu. Gehen Sie diesen Ausschnitt am Ende des $ Fields [] -Array an, das die Einstellung von Superminimal_foter_text enthält.
<span>function superminimal_customizer_config() { </span> <span>$args = array( </span> <span>// Only use this if you are bundling the plugin with your theme </span> <span>'url_path' => get_stylesheet_directory_uri() . '/inc/kirki/', </span> <span>); </span> <span>return $args; </span> <span>} </span> <span>add_filter( 'kirki/config', 'superminimal_customizer_config' );</span>
AJAX Live -Vorschau mit der Funk -Image -Steuerung
Fullwidth , Sidebar-links oder Seitenleiste auf der Vorschau-Seite ausspucken, je nachdem, welches Radio-Image Die Steuertaste wird ausgewählt. Dies kann jedoch nicht das sein, was Sie erreichen möchten.
Die gute Nachricht ist, dass Sie einen benutzerdefinierten JavaScript -Funktionsnamen als Wert des Funktionsparameters anschließen können und es funktioniert!
<span>function superminimal_demo_panels_sections( $wp_customize ) { </span> <span>/** </span><span> * Add Panel </span><span> */ </span> <span>$wp_customize->add_panel( 'sitepoint_demo_panel', array( </span> <span>'priority' => 10, </span> <span>'title' => __( 'SitePoint Demo Panel', 'superminimal' ), </span> <span>'description' => __( 'Kirki integration for SitePoint demo', 'superminimal' ), </span> <span>) ); </span> <span>//More code to come </span> <span>} </span> <span>add_action( 'customize_register', 'superminimal_demo_panels_sections' );</span>
<span>/** </span><span> * Add a Section for Site Text Colors </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_text_colors', array( </span> <span>'title' => __( 'Site Text Colors', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) ); </span> <span>/** </span><span> * Add a Section for Site Layout </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_site_layout', array( </span> <span>'title' => __( 'Site Layout', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) ); </span> <span>/** </span><span> * Add a Section for Footer Text </span><span> */ </span> <span>$wp_customize->add_section( 'superminimal_footer_text', array( </span> <span>'title' => __( 'Footer Text', 'superminimal' ), </span> <span>'priority' => 10, </span> <span>'panel' => 'sitepoint_demo_panel', </span> <span>'description' => __( 'Section description.', 'superminimal' ), </span> <span>) );</span>
<span>if ( ! class_exists( 'Kirki' ) ) { </span> <span>include_once( dirname( __FILE__ ) . '/inc/kirki/kirki.php' ); </span><span>}</span>
Das Tolle an Kirki ist, dass Sie es eher zusammen mit der WordPress Customizer -API verwenden können. Wenn die Situation sie erfordert, können Sie daher in kürzester Zeit leicht zwischen den beiden APIs wechseln.
Hunger nach mehr? Hier sind einige großartige Ressourcen.
Ich habe gezeigt, wie man das Kirki -Toolkit in ein WordPress -Thema integriert.
Kirki wird aktiv entwickelt und unterstützt. Die API- und benutzerdefinierten Steuerelemente optimieren bereits die Zeit, die für die Entwicklung von Customizer -Themenoptionen benötigt wird. Dies wird besonders wichtig, wenn Sie Ihr Thema im Repository von WordPress.org Themes auflisten möchten. Tatsächlich sind Themen, die Anpassungsoptionen bereitstellen, dies eher über den Customizer als über die Seiten für benutzerdefinierte Optionen erforderlich.
Um sich mit den Details des in diesem Beitrag besprochenen Code zu befassen, können Sie das Superminimal -Demo -Thema von GitHub herunterladen.
Ich freue mich auf Ihr Feedback!
Kann ich Kirki mit einem WordPress-Thema verwenden? WordPress -Thema. Um die Funktionen von Kirki jedoch voll auszunutzen, muss Ihr Thema den WordPress Customizer unterstützen. Die meisten modernen WordPress -Themen unterstützen den Customizer, daher sollte dies für die meisten Benutzer kein Problem sein. Nur wenige Codezeilen für die Funktion Ihres Themas.Php -Datei. Der Code gibt die ID, den Titel, die Beschreibung und die Priorität des Panels an. Nach dem Hinzufügen wird das Panel im WordPress Customizer angezeigt und Sie können Abschnitte und Steuerelemente hinzufügen.
Kann ich Kirki verwenden, um ein untergeordnetes Thema zu erstellen? ein Kinderthema. Ein Kinderthema ist ein Thema, das die Funktionalität und das Styling eines anderen Themas erbt, das als übergeordnetes Thema bezeichnet wird. Durch das Erstellen eines untergeordneten Themas können Sie das übergeordnete Thema ändern, ohne den ursprünglichen Code zu beeinflussen. Kirki bietet eine Reihe von Funktionen, die das Erstellen und Anpassen von untergeordneten Themen erleichtern. Sie können es über das WordPress -Dashboard oder durch das Herunterladen der neuesten Version aus dem WordPress -Plugin -Verzeichnis und der manuellen Installation aktualisieren. Es ist wichtig, Kirki auf dem neuesten Stand zu halten, um die Kompatibilität mit der neuesten Version von WordPress zu gewährleisten und von neuen Funktionen und Verbesserungen zu profitieren.
Das obige ist der detaillierte Inhalt vonSchnelle WordPress Customizer -Optionen mit Kirki. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!