Kategorie in der Vorschau von Theme Customizer anzeigen

Ich baue ein Theme, das Theme Customizer ändert colors, Größen usw. und hat auch die Möglichkeit, eine Kategorie auszuwählen und diese Kategorie spezifisch zu stylen.

Wie kann ich diese Kategorie in der Vorschau anzeigen (nur wenn der Benutzer die entsprechenden Optionen ändert) anstatt der standardmäßigen Startseite / Titelseite, die standardmäßig angezeigt wird?

BEARBEITEN

Ich kann mit customize_preview_init auf das Vorschaufenster zugreifen, aber ich kann wp_redirect nicht anwenden, was ich für möglich halte .

Solutions Collecting From Web of "Kategorie in der Vorschau von Theme Customizer anzeigen"

Wenn ich Ihr Ziel richtig verstehe, dann werden Sie innerhalb des Customizers eine Liste auswählen, dort die Kategorien und der Benutzer kann diese zum Speichern in Ihren Designeinstellungen verwenden.

Wenn Sie den Customizer für Kategorien erweitern, verwenden Sie diese class hier in diesem Repo. Fügen Sie die Datei hinzu und erweitern Sie die Standardklasse. Sie können einfach eine Auswahl für die Kategorien der Installation implementieren. In der Readme- Datei dieses Repos befinden sich zwei Links zu einem Beispiel, aber für andere classn des Repos. Ich denke, ist auf allen Erweiterungen für den Customizer klar und gleich.

Hier ist eine Herangehensweise, die ich verwendet habe, um den Nutzern während der Anzeige der Website über die Theme Customizer-Vorschau anzuzeigen:

global $wp_customize; if( is_user_logged_in() && isset($wp_customize) ) { // Show "categories" or things in the Customizer Previewer only } 

Es macht Ihre Vorlagen ein bisschen chaotischer, aber, wie Sie wahrscheinlich schon bemerkt haben, gibt es nicht viel Dokumentation / Entwicklung im Theme-Customizer: /

Fügen Sie einfach ein JavaScript hinzu, das nur in der Live-Vorschau aktiviert und umgeleitet wird: http://www.jquery4u.com/snippets/jquery-redirect-web-page/

Als erweiterte Lösung können Sie asynchron arbeitende js-function mit wp.customize erstellen. Sie können mein Thema http://theme.firmasite.com/ zum Beispiel inspizieren.

Ich habe diese Lösung gefunden:

1.Erfordern Sie eine zusätzliche Datei, die die Hooks nur in der Theme-Vorschau enthält

 function mytheme_customizer_live_preview() { require_once('library/preview.php'); } add_action( 'customize_preview_init', 'mytheme_customizer_live_preview' ); 

2. Was ich zu tun hatte ist, die Abfrage so zu ändern, wie ich es normalerweise auf der Seite machen würde, also mach es einfach in der Vorschau (in der Vorschau.php):

 function modify_query($query) { $category = get_theme_mod( 'mytheme' )['categories'][0]; $query->set('cat', $category); return $query; } add_filter('pre_get_posts', 'modify_query', 10);