Ich arbeite an einer WP-Site mit einigen Promotion-/Anzeigen-Schiebereglern mit einem Google Analytics-Klickereignis. Funktioniert super, jetzt möchte ich das richtige Bild in der richtigen Auflösung liefern.
Ich benutze bildfüllend zum Bereitstellen der Bilder. Funktioniert gut, während es fest codiert ist, also weiß ich, dass es funktioniert. Wenn ich versuche, die Bildquellen mit von WP hochgeladenen Bildern abzurufen, ist dies nicht der Fall. Ich weiß es aufgrund meiner (mangelnden) PHP-Kenntnisse.
Was Picturefill braucht:
<span data-picture data-alt="">
<span data-src="https://stackoverflow.com/questions/17233618/filename_default.jpg"></span>
<span data-src="filename_small.jpg" data-media="(min-width: 400px)"></span>
<span data-src="filename_medium.jpg" data-media="(min-width: 768px)"></span>
<span data-src="filename_big.jpg" data-media="(min-width: 1200px)"></span>
<!-- Fallback content for non-JS browsers. -->
<noscript>
<img src="external/imgs/small.jpg" alt="">
</noscript>
</span>
Ich habe entweder die URL oder die ID oder das Bild gespeichert in: $attachment_id
Ich dachte, das zu tun:
<?php
$attachment_id = get_field('advimg');
$large = "adv-pos-a-large";
$default = "adv-pos-a-default";
$small = "adv-pos-a-small";
?>
Das get_field(‘advimg’); ist von ACF.
<span data-picture data-alt="">
<span data-src="https://stackoverflow.com/questions/17233618/<?php wp_get_attachment_image_src( $attachment_id, $default ); ?>"></span>
<span data-src="<?php wp_get_attachment_image_src( $attachment_id, $small ); ?>" data-media="(min-width: 400px)"></span>
<span data-src="https://stackoverflow.com/questions/17233618/<?php wp_get_attachment_image_src( $attachment_id, $default ); ?>" data-media="(min-width: 768px)"></span>
<span data-src="<?php wp_get_attachment_image_src( $attachment_id, $large ); ?>" data-media="(min-width: 1200px)"></span>
<!-- Fallback content for non-JS browsers. -->
<noscript>
<img src="external/imgs/small.jpg" alt="">
</noscript>
</span>
Aber es funktioniert nicht. Ich habe herumgespielt mit:
wp_get_attachment_image_src wp_get_attachment_image_url wp_get_attachment_image_link
Ich muss freitags haben, weil es nicht funktioniert und etwas sagt mir, dass es nicht so schwer ist … ich sehe es heute nur nicht.
Ich hatte gehofft, ihr könntet mit anpacken.
Danke im Voraus,
/ Paul
BEARBEITEN / ENDCODE / FIX
<?php
$attachment_id = get_field('advanced_custom_field_name_here');
$small = wp_get_attachment_image_src( $attachment_id, 'adv-pos-a-small' );
$default = wp_get_attachment_image_src( $attachment_id, 'adv-pos-a-default' );
$large = wp_get_attachment_image_src( $attachment_id, 'adv-pos-a-large' );
?>
<span data-picture data-alt="alt desc here">
<span data-src="https://stackoverflow.com/questions/17233618/<?php echo $default[0]; ?>"></span>
<span data-src="<?php echo $small[0]; ?>" data-media="(min-width: 400px)"></span>
<span data-src="https://stackoverflow.com/questions/17233618/<?php echo $default[0]; ?>" data-media="(min-width: 768px)"></span>
<span data-src="<?php echo $large[0]; ?>" data-media="(min-width: 1200px)"></span>
<!-- Fallback content for non-JS browsers. Same img src as the initial, unqualified source element. -->
<noscript>
<img src="https://stackoverflow.com/questions/17233618/<?php echo $default[0]; ?>" alt="alt desc here">
</noscript>
</span>