Brauchen Sie Rat bei Thema Anpassung und untergeordneten Themen

Ich habe an einem Thema gearbeitet, anfangs hatte es nur ein Design und ich habe fast alle Elemente der Vorderseite durch den Design-Customizer anpassbar gemacht. Nun möchte ich einige Variationen meines Themas anbieten und bin mir nicht sicher, was ich tun soll. Die Art und Weise, wie ich mein Design einstelle, ist, dass wenn mein Design installiert wird, es wie die Demo aussieht, da ich die Standardwerte der Designeinstellungen mit dem Design übereinstimmte. Die Standardeinstellungen sind also für den einen Stil eingerichtet.

Jetzt, da ich ein paar Variationen meines Themas anbieten möchte, ist es sinnvoll, untergeordnete Themen zu verwenden, auf die die Benutzer wechseln können. Obwohl ich keine Ahnung habe, wie das funktionieren würde, da die meisten Elemente Werte aus den Designeinstellungen erhalten und nicht die CSS-Datei, so dass sie einfach angepasst werden können. Wäre es nicht möglich, untergeordnete Themen zu verwenden?

Wäre es für mich sinnvoller, eine Einstellung hinzuzufügen, für die der Stil ausgewählt wurde, und abhängig davon, ob mein Customizer unterschiedliche Standardwerte auswählt? (Haben Sie drei Sätze von Standardwerten in einer function und verwenden Sie Logik, um zu wählen, welche Standardeinstellungen verwendet werden, abhängig vom ausgewählten Thema?)

Ich möchte eine Demo-Leiste haben, um die Variationen des Themas zu zeigen. Wäre es möglich, ein untergeordnetes Thema zu haben, das den Customizer ebenfalls außer Kraft setzt? So konnte ich einfach in der Demo-Leiste auf ein Kind-Thema wechseln?

Jeder Rat würde geschätzt werden.

Solutions Collecting From Web of "Brauchen Sie Rat bei Thema Anpassung und untergeordneten Themen"

Ich würde kommentieren, wenn möglich. Wenn Ihre Themenvariationen nur aus Stiländerungen bestehen, können Sie die Varianten-Stylesheets @ inc / css / hinzufügen und dann hier ein Beispiel für die Referenzen, um alles zu aktivieren.

@ \ Optionen \ Optionen-core.php:

 $ fields_list [] = Array (
     'name' => __ ('Wähle eine Hautfarbe', 'mytheme'),
     'id' => 'mytheme_skin_color',
     'std' => 'Standard',
     'typ' => 'bilder',
     'options' => apply_filters ('mytheme_skin_color', Array (
         'Standard' => $ Verzeichnis_uri.  '/inc/css/skins/images/default.png'
     ))

@ \ Optionen \ Optionen-Customizer.php:

 / ********** class für die Auswahl der Hautfarbe beginnt ************* /

 class mytheme_skin_selector erweitert WP_Customize_Control {
     public $ type = 'radio';
        
             Bilder-Haut-Untercontainer {
                 Anzeige: Inline;
             }
             .images-skin-subcontainer img {
                 Rand oben: 5px;
             }
             .images-skin-subcontainer img.of-radio-img-selected {
                 Grenze: 5px fest # 5DA7F2;
             }
             .images-Haut-Untercontainer img: hover {
                 Cursor: pointers;

                 // Wenn das Hintergrundbild von mytheme mod einen Wert hat, müssen wir den Standardwert bg auf none setzen
                 $ test_skin = $ this-> value ();
                 $ name = '_customize-radio-'.  $ this-> id;
                 $ selected = ($ test_skin == $ wert)?  'von-radio-img-selected': '';
                 ?>
                
                                         
                         "name =" "link (); überprüft ($ test_skin, $ value style =" display: none; "/>
                         "class =" von-radio-img-img "/
             }
  / ********** class für die Auswahl der Hautfarbe endet ************* /

  // Meine Haut 
 $ wp_customize-> add_setting ('mytheme_options [mytheme_skin_color]', Array (
     'Standard' => 'Standard',
     $ wp_customize -> add_control (neuer mytheme_skin_selector ($ wp_customize, 'skin_color', array (
         'label' => __ ('Hautfarbe', 'mytheme'),
         'section' => 'mytheme_design_section',
         'Einstellungen' => 'mytheme_options [mytheme_skin_color]',
         'Auswahl' => Anwendungsfilter ('mytheme_skin_color', ''),
     )));

Hoffe, das hilft auf jeden Fall.