Cum obții URL-ul la dimensiunea completă a unei imagini atașate

29 iul. 2017, 01:20:32
Vizualizări: 17.5K
Voturi: 1

Nu văd nicio metodă pentru a obține URL-ul către imaginea în dimensiune completă a unui atașament.

Da, pot folosi get_the_post_thumbnail_url($post->ID, 'full'), dar asta nu ajută dacă imaginea nu este imaginea principală (featured image).

wp_get_attachment_metadata pentru atașamentul meu nu afișează o dimensiune full, așa că wp_get_attachment_image_src($imageID, 'full') nu returnează nimic.

Cum pot obține versiunea completă a unei imagini având doar ID-ul atașamentului?

2
Comentarii

Nu există full în sizes, originalul se află sub cheia file în datele returnate de wp_get_attachment_metadata. În orice caz, wp_get_attachment_image_src($imageID, 'full') este corect și va returna un array care conține URL-ul.

Milo Milo
29 iul. 2017 01:35:30

Credeam că am testat wp_get_attachment_image_url($imageID, 'full') înainte de a posta. Ai dreptate, spre surprinderea mea. Nu sunt sigur de ce credeam că nu funcționează

Jeff Wilkerson Jeff Wilkerson
29 iul. 2017 03:22:50
Toate răspunsurile la întrebare 2
2

Am rezolvat aceasta folosind wp_get_attachment_url($imageID);

Dar, poți folosi și wp_get_attachment_image_url($imageID, 'full')

29 iul. 2017 03:27:18
Comentarii

Jeff, exact asta ți-am răspuns în partea a 2-a a răspunsului meu...

rudtek rudtek
30 iul. 2017 01:48:41

Nu întrebam despre imaginile miniatură ale postărilor. Întrebam în mod specific despre atașamentele care nu sunt legate direct de o postare. Poți ajusta răspunsul în consecință... și am realizat că am făcut o greșeală când am testat wp_get_attachment_image_url() doar după ce @milo a atras atenția asupra ei.

Jeff Wilkerson Jeff Wilkerson
30 iul. 2017 19:34:09
1

Cred că exagerezi cu sistemul. Din păcate, nomenclatura nu ajută. Aici, Thumbnail se referă la imaginea reală când folosești get_the_post_thumbnail_url().

De exemplu, să zicem că azi ai încărcat o imagine numită myimage.jpg.

Aceasta ar fi stocată, dacă folosești organizarea după dată, în acest director: /wp-content/uploads/2017/07/myimage.jpg.

Acum, când apelezi:

$featured_img_url = get_the_post_thumbnail_url('full');  //(sau lăsați parametrul gol)

echo $featured_img_url;

vei obține:

http://www.example.com/wp-content/uploads/2017/07/myimage.jpg

Pe de altă parte, dacă folosești acest cod:

$featured_img_url = get_the_post_thumbnail_url('thumbnail');  //(sau alege altă dimensiune de thumbnail..medium...large...)

echo $featured_img_url;

va returna:

http://www.example.com/wp-content/uploads/2017/07/myimage30x30.jpg

imaginea generată automat în funcție de setările thumbnail-ului.

Pentru a evita confuzia cu denumirile, ai putea încerca și...

 wp_get_attachment_image_url()

dar această funcție necesită ID-ul real al atașamentului, nu ID-ul postului, indiferent dacă ești în buclă sau nu.

$imgid = 6; //trebuie obținut dinamic
$imgurldesktop = wp_get_attachment_image_url( $imgid, '' ); //folosește dimensiunea implicită a imaginii
$imgurlmobile = wp_get_attachment_image_url( $imgid, 'home-slide-img-mobile' ); //folosește dimensiunea personalizată
29 iul. 2017 01:33:42
Comentarii

Vorbesc despre imaginile încărcate prin Advanced Custom Fields, care nu sunt legate direct de un articol. De aceea mă joc cu wp_get_attachment_image_url(), pentru că știu ID-ul atașamentului.

Jeff Wilkerson Jeff Wilkerson
29 iul. 2017 03:25:03