it-swarm.com.de

fallback-Image für empfohlenes Image

Ich möchte ein Fallback-Image verwenden, wenn kein ausgewähltes Image festgelegt ist. Ich benutze den folgenden Code, aber das Bild wird nicht angezeigt ...

<?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>
    <?php the_post_thumbnail( array(334, 259) ); // Declare pixel size you need inside the array ?>
<?php else : // No thumbnail? Showing default is better UX than no image. ?>
    <img src="/wp/wp-content/themes/klicknet-theme/images/testbild.png" 
alt="testbild" width="334" height="259" title="Bild: <?php the_title(); ?>"> 
<?php endif; ?>

Irgendwelche Ideen warum?

1
tom84

Ihr Code sieht in Ordnung aus und es sollte gut funktionieren. Aber es gibt einige Dinge, die Sie beheben können (und sollten).

1. Sie verwenden keine absolute URL für Ihr Fallback-Image

Sie übergeben /wp/wp-content/themes/klicknet-theme/images/testbild.png als Quellcode Ihres Bildes. Es wäre viel besser und sicherer, wenn Sie dort WP Funktionen verwenden würden. Zum Beispiel so:

<img src="<?php bloginfo('template_url'); ?>/images/testbild.png">

2. Sie entkommen dem Titel nicht richtig

In Ihrem Fallback-Image verwenden Sie the_title() im title-Attribut. Aber du entkommst ihm nicht als Attribut. Wenn der Titel das Zeichen " enthält, wird Ihr HTML-Code beschädigt. Ein weiteres Problem ist, dass der Titel HTML-Tags enthalten kann und diese in Ihrem Attribut gedruckt werden.

Wenn Sie title als Attribut verwenden möchten, sollten Sie stattdessen the_title_attribute function verwenden. Die feste Version dieser Zeile kann also ungefähr so ​​aussehen:

<img src="<?php bloginfo('template_url'); ?>/images/testbild.png" alt="testbild" width="334" height="259" title="<?php the_title_attribute( array( 'before' => 'Bild: ', 'after' => '' ) ); ?>"> 
1