wp_get_attachment_image_src () arbeitet mit dem Index, aber nicht mit Archiven

Ich habe ein Clientthema angepasst und er hat mich gebeten, dies zu tun: Wenn ein Benutzer auf ein Thumbnail eines Posts auf Index und Archiven klickt, wird das große Thumbnail in einem Leuchtkasten angezeigt. So habe ich die große Größe der Post-Miniatur mit:

   

und setzen Sie den Wert $large_thumb auf das entsprechende Tag als data-* , wie:

 <div class="img lightbox-trigger" data-large-thumb="">  

Und ich zeige das in einem Leuchtkasten mit Snippet von jQuery.

Jetzt auf Index, alles funktioniert gut und perfekt. Aber wenn ich Archivseiten überprüfe, funktioniert es nicht wie es sollte. Ich überprüfe die generierte Quelle und sah, dass die data-large-thumb in Archiven leer ist !, wo auf Indexdaten data-large-thumb die Adresse von Thumbnails großer Größe enthält.

Das Seltsame ist, benötigt Markup aus der gleichen Datei mit get_template_part . Ich meine, wenn ich index.php und archive.php beide überprüfe

  

die laden Codes aus der gleichen Datei, aber diese gleiche Datei gibt Wert auf index und Nothing auf archive , wenn ich var_dump($large_thumb) es NULL . Das ist komisch, denke ich!

Generierte Ergebnisse in index.php :

  

und auf archive.php :

  

Update I var_dumped diese 3 verwandten Variablen zu wissen, was sie zurückgibt. Auf Index:

 $page_id returns 0 $thumbs_array return correct array containing url, width, height, etc $large_thumb returns url of large thumbnail 

und Alles funktioniert gut auf index . aber auf archive :

 $page id returns proper value; 2, 3, 8, 10 or whatever the ID is $thumbs_array returns `bool(false)` $large_thumb returns`NULL` 

Es scheint also, dass das Problem mit wp_get_attachment_image_src was leider nicht funktioniert. Gibt es eine andere WP-function, die ich verwenden sollte? warum es False zurückgibt?

Was ich hier vermisse?

Und lassen Sie mich bitte wissen, wenn zusätzliche Informationen benötigt werden, um dies zu lösen.

Vielen Dank.

Solutions Collecting From Web of "wp_get_attachment_image_src () arbeitet mit dem Index, aber nicht mit Archiven"

get_queried_object_id gibt die ID für das abgefragte Objekt zurück (natürlich). Auf Archivseiten wäre dies die ID des Archivs – es sei denn, in Ihrem Archiv befindet sich eine Miniaturansicht. Sie erhalten kein Bild.

Je nachdem, wo Sie die Variable $large_thumb , sollten Sie die ID (solange sie innerhalb der Schleife verwendet wird) mit der function get_the_post_thumbnail_url() auslassen .

Wenn Sie Ihren Code direkt über dem Code platzieren, um das Bild anzuzeigen, sollte es funktionieren:

 < ?php $large_thumb = get_the_post_thumbnail_url(null, 'large'); // Notice the null-value, instead of providing a post ID or object, will default to the current global $post. ?>