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?
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 : ?> ; ?/>/images/logo.png)
< ?php endif; ?>