function has_custom_logo bei Verwendung in Customizer

Ich versuche, die custom-logo functionalität zu integrieren, die in 4.5 eingeführt wurde, und ich stoße auf einige Probleme mit der Customizer-Schnittstelle.

Ich überprüfe has_custom_logo und wenn es falsch ist, has_custom_logo ich eine Textversion des Site-Namens und der Beschreibung als Fallback an. Es funktioniert einwandfrei, wenn Sie ein benutzerdefiniertes Logo hinzufügen. Wenn Sie es jedoch “entfernen”, scheint es, dass has_custom_logo immer noch true zurückgibt.

Beispiel:

 if ( function_exists( 'the_custom_logo' ) && has_custom_logo() ) { the_custom_logo(); } else { echo 'Fallback'; } 

Hatte noch jemand mit etwas Ähnlichem Glück?

Solutions Collecting From Web of "function has_custom_logo bei Verwendung in Customizer"

Sie haben es falsch has_custom_logo() gibt false zurück, wenn kein Logo vorhanden ist. function_exists( 'the_custom_logo' ) jedoch true zurück, wenn Sie eine Version von WordPress verwenden, die diese function unterstützt.

Also, wenn Sie Ihre if-statement wie unten trennen, wird es funktionieren.

 if( function_exists( 'the_custom_logo' ) ) { if(has_custom_logo()) { the_custom_logo(); } else { echo "No logo"; } } 

Ich habe einen ähnlichen Code wie in der Frage verwendet, indem ich ein Bild als Fallback verwendet habe, und funktioniert einwandfrei. Unterhalb von 4,5 wird das Fallback-Bild angezeigt und oberhalb von 4,5 wird das benutzerdefinierte Logo angezeigt, sofern eines festgelegt wurde. Wenn kein benutzerdefiniertes Logo festgelegt ist oder entfernt wird, wird das Fallbackbild angezeigt.

 < ?php if ( function_exists( 'the_custom_logo' ) && has_custom_logo() ) : ?> < ?php the_custom_logo(); ?> < ?php else : ?> 

< ?php bloginfo( 'name' ); ?>

< ?php endif; ?>