Hi Michael,
dafür bräuchte es etwas mehr Code 🙂 Wie sieht denn der Teil aus, der das $image-Array mit den Infos für das alt-Attribut füllt?
Viele Grüße
Florian
Hallo Florian,
vielen Dank für deine Rückmeldung. Der gesamte Code sieht folgendermaßen aus:
<div class="container">
<?php $loop = new WP_Query( array( 'post_type' => 'galery_vacation', 'orderby' => 'post_id', 'order' => 'DESC' ) ); ?>
<?php while( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="col-lg-4 col-sm-6">
<a href="<?php the_field('galery_image_link'); ?>" class="galery-item">
<img class="img-responsive" src="<?php the_field('galery_image'); ?>" alt="<?php echo $image['alt'] ; ?>">
<div class="galery-item-caption">
<div class="galery-item-caption-content">
<p><?php the_field('galery_title_normal'); ?> <strong><?php the_field('galery_title_strong'); ?></strong></p>
</div>
</div>
</a>
</div>
<?php endwhile; wp_reset_query(); ?>
</div>
Mehr Code gibt es nicht. vermutlich liegt es daran, weshalb nichts im „Alt“-Tag erscheint. Ich weiß auch nicht, wie man das anstellt.
Beste Grüße
Michael
Hi Michael,
kurz Off-Topic (bitte nicht als Besserwisserei oder so missverstehen): alt ist ein HTML-Attribut, kein Tag – Tags sind img, div et cetera 🙂
Zurück zum Thema: Ja, das dürfte dann der Grund sein, warum nichts ausgegeben wird. Was genau möchtest du denn in alt anzeigen? Etwas, das über Advanced Custom Fields eingegeben wird?
Viele Grüße
Florian
Hallo Florian,
oh, peinlich, vielen Dank, das merke ich mir für die Zukunft: alt = HTML-Attribut.
Wenn ich das Bild über WordPress einbinde, kann ich ja unter anderem einen Alternativtext („alt“) eingeben, den würde ich gerne im HTML-Code ausgeben, aber es wird leider nichts angezeigt. Wie gesagt, sind meine Kenntnisse von PHP sehr eingeschränkt. Ich bin auch schon dabei, es mir anzueignen. Wird aber vermutlich noch was länger brauchen. 😉
Beste Grüße
Michael
Hi Michael,
nicht peinlich – irgendwann muss man es ja erst mal lernen 🙂
So wie ich es sehe, ist das ACF-Feld galery_image ja so eingestellt, dass es die URL des Bildes zurückgibt. Da müsstest du bei den Feld-Optionen einstellen können, dass es ein Array ausgibt. Stell das mal ein und füge dann in deinen Code über das img-Element das hier ein:
<pre>
<?php var_dump( get_the_field( 'galery_image' ) ); ?>
</pre>
und poste hier, was da rauskommt (und ob da schon irgendwo der Alternativtext bei ist 🙂 ).
Viele Grüße
Florian
Hallo Florian,
ich gestehe, ich komme damit nicht ganz zurecht. Ich benutze das Plugin CPT UI. Ich vermute, dass ich etwas falsch eingestellt habe oder der Code anders sein muss, weil er sich nur auf die Ausgabe des Bildes beschränkt???
Vermutlich geht es eher in die Richtung wie dieses Beispiel:
https://www.advancedcustomfields.com/resources/image/
Viele Grüße
Michael
-
Diese Antwort wurde vor 8 Jahren, 6 Monaten von
micha1875 geändert.
Hi Michael,
damit hat das vermutlich nichts zu tun. Geh mal im Backend auf Eigene Felder und dann die Feld-Gruppe mit dem Bild. Wenn du dann auf das Feld für das Bild klickst, sollten da Optionen ausklappen – ungefähr so wie hier:

Feld-Name muss bei dir galery_image sein. Da gibt es den Rückgabewert, der im Screenshot auf Bild-ID steht. Den müsstest du einmal auf Bild-Array ändern (steht bei dir vermutlich auf Bild-URL).
Viele Grüße
Florian
Hallo Florian,
nochmals vielen Dank, dass du dir die Zeit nimmst. Jetzt habe ich es kapiert und auf Bild umgestellt. Bild-Array gibt es bei mir nicht. Nur Bild, Bild-URL und Bild-ID.
Den Code habe ich angepasst:
<div class="container">
<?php $loop = new WP_Query( array( 'post_type' => 'galery_vacation', 'orderby' => 'post_id', 'order' => 'DESC' ) ); ?>
<?php while( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="col-lg-4 col-sm-6">
<a href="<?php the_field('galery_image_link'); ?>" class="galery-item">
<pre>
<?php var_dump( get_the_field( 'galery_image' ) ); ?>
</pre>
<img class="img-responsive" src="<?php the_field('galery_image'); ?>" alt="<?php echo $image['alt'] ; ?>">
<div class="galery-item-caption">
<div class="galery-item-caption-content">
<p><?php the_field('galery_title_normal'); ?> <strong><?php the_field('galery_title_strong'); ?></strong></p>
</div>
</div>
</a>
</div>
<?php endwhile; wp_reset_query(); ?>
</div>
Auf der Website wird nun gar nichts mehr angezeigt bzw. der Code bricht an folgender Stelle ab:
<div class="col-lg-4 col-sm-6">
<a href="xxxxxxxxxxxxxxxx" class="galery-item">
<pre>
Danach kommt nichts mehr.
Beste Grüße
Michael
Hi Michael,
komisch das mit der nicht vorhandenen Array-Option …
Was kommt wenn du den pre-Teil wieder rausnimmst und durch <?php the_field('galery_image'); ?> ersetzt?
Viele Grüße
Florian
Hallo Florian,
das Frontend zeigt fehlende Bilder und eine Zahl sowie den Alternativtext an. Schaue ich im Quellcode steht dort bei „src=“ eben diese Zahl und mein Alternativtext. Das Alt-Attribute zeigt nichts.
Beste Grüße
Michael
-
Diese Antwort wurde vor 8 Jahren, 6 Monaten von
micha1875 geändert.
Kannst du dann einmal das hier einfügen (einfach wieder vor das Bild) und mir die komplette Ausgabe davon hier reinpacken?
<pre>
<?php var_dump( the_field( 'galery_image' ) ); ?>
</pre>
Hallo Florian,
das wird im Quellcode angezeigt:
<div class="col-lg-4 col-sm-6">
<a href="http://xxxlinkxxx/2017/05/18/hello-world/" class="galery-item">
<pre>
83, Foto vom Strand., , , , image/jpeg, http://xxxlinkxxx/wp-content/uploads/2017/06/foto-vom-strand.jpg, 800, 600, ArrayNULL
</pre>
<img class="img-responsive" src="83, Foto vom Strand., , , , image/jpeg, http://xxxlinkxxx/wp-content/uploads/2017/06/foto-vom-strand.jpg, 800, 600, Array" alt="">
<div class="galery-item-caption">
<div class="galery-item-caption-content">
<p>Urlaub 2017 <strong>Strand bei Sonnenschein</strong></p>
</div>
</div>
</a>
</div>
Beste Grüße
Michael
Hi Michael,
welche Version von Advanced Custom Fields nutzt du?
Viele Grüße
Florian
Hallo Florian,
habe rasch nachgeschaut. Es ist Version 4.4.11.
Beste Grüße
Michael
Hast du die Möglichkeit auf eine aktuelle Version zu aktualisieren? 🙂