Ich kann mich nicht um diese function kümmern – jede Hilfe wäre willkommen

OK, also arbeite ich an einem Thema, das den Customizer sehr nutzt.

Wenn Sie beispielsweise eine Farbe ändern, wird die erforderliche CSS-Datei zur Kopfzeile hinzugefügt. Wenn Sie jedoch auf Standard klicken, verbleibt die CSS-Datei mit dem Standardwert in der Kopfzeile.

Also suchte ich nach einer Lösung und stellte fest, dass die ganze Zeit eines unter meiner Nase lag. Ich habe in der Datei custom-header.php meines Themas gefunden, wonach ich gesucht habe. Ich habe Twenty Twelve verwendet, um dieses Thema zu erstellen, wenn Sie einen Blick darauf casting können. Ich nahm den “twentytwelve_header_style” und änderte es so:

function wpforge_customize_css() { $header_container = esc_attr(get_theme_mod( 'header_container_background_color' )); if ( $header_container == get_theme_mod( 'header_container_background_color', '#e6e6e6' ) ) return; ?>   .header_container{background-color:;}   

Ich war überrascht, als es tatsächlich funktioniert hat. In der Kopfzeile wurde kein Customizer-CSS angezeigt, aber wenn ich im Customizer eine Hintergrundfarbe ausgewählt habe, wurde der richtige CSS-Stil in der Kopfzeile angezeigt. Wenn ich nun den Wert auf den Standardwert zurücksetze, verschwand die CSS aus der Kopfzeile. Ich dachte mir FANTASTISCH !!!

Also habe ich versucht, der gleichen function einen weiteren Wert hinzuzufügen, und das habe ich bekommen:

 function wpforge_customize_css() { $header_container = esc_attr(get_theme_mod( 'header_container_background_color' )); if ( $header_container == get_theme_mod( 'header_container_background_color', '#e6e6e6' ) ) return; $header_wrap_width = esc_attr(get_theme_mod( 'header_width' )); if ( $header_wrap_width == get_theme_mod( 'header_width', '64rem' ) ) return; ?>   .header_container{background-color:;} .header_wrap{max-width:;}   

Es hat perfekt funktioniert, dachte ich. Also habe ich versucht, einen weiteren hinzuzufügen und festgestellt, dass nichts angezeigt wird, bis ich etwas für eines der anderen Elemente ausgewählt habe, was bedeutet, dass ich etwas für den Header-Container auswählen musste, damit der Header-Wrap funktioniert oder angezeigt wird.

Ich bin kein PHP-Experte und ich kann keinen Code schreiben, um mein Leben zu retten, aber ich verstehe es irgendwie, genug, um mit ihm zu experimentieren.

Also habe ich mich gefragt, ob jemand mir zeigen könnte, wie man diese function richtig schreibt, also kann ich mehrere Elemente hinzufügen und es wird funktionieren. Wo kann ich das nehmen:

 function wpforge_customize_css() { $header_container = esc_attr(get_theme_mod( 'header_container_background_color' )); if ( $header_container == get_theme_mod( 'header_container_background_color', '#e6e6e6' ) ) return; ?>   .header_container{background-color:;}   

und mach es so:

 function wpforge_customize_css() { $header_container = esc_attr(get_theme_mod( 'header_container_background_color' )); if ( $header_container == get_theme_mod( 'header_container_background_color', '#e6e6e6' ) ) return; $header_wrap_width = esc_attr(get_theme_mod( 'header_width' )); if ( $header_wrap_width == get_theme_mod( 'header_width', '64rem' ) ) return; ?>   .header_container{background-color:;} .header_wrap{max-width:;}   

und es funktioniert, ohne einen Wert für den header_container zu wählen, nur so dass der header_wrapper erscheint

jede Hilfe wird sehr geschätzt und danke im Voraus.

Solutions Collecting From Web of "Ich kann mich nicht um diese function kümmern – jede Hilfe wäre willkommen"

Ihr Problem besteht darin, dass Sie nichts zurückgeben, wenn einige der Optionen nicht Ihren Kriterien entsprechen. Zum Beispiel machen Sie das:

 if ( $header_container == get_theme_mod( 'header_container_background_color', '#e6e6e6' ) ) return; 

Wenn also $header_container gleich #e6e6e6 , gibt die function die weitere Ausführung return und stoppt sie. Sie müssen diese Logik ändern. Zum Beispiel (nur ein kurzes Beispiel):

 function wpforge_customize_css() { $output = ''; $header_container = esc_attr(get_theme_mod( 'header_container_background_color' )); if ( $header_container != get_theme_mod( 'header_container_background_color', '#e6e6e6' ) ) { $output = '.header_container{background-color: '.$header_container.'}'; } $header_wrap_width = esc_attr(get_theme_mod( 'header_width' )); if ( $header_wrap_width != get_theme_mod( 'header_width', '64rem' ) ) { $output = '.header_wrap{background-color: '.$header_wrap_width.'}'; } if( !empty($output) ) { ?>    < ?php } } ?>