wp_get_attachment_image_src() și dimensiunile personalizate

6 apr. 2014, 20:00:16
Vizualizări: 40.9K
Voturi: 5

După cum se menționează în această pagină, wp_get_attachment_image_src() acceptă doar dimensiuni predefinite precum thumbnail, medium, large sau full.

Cum poți obține aceeași valoare returnată cu dimensiunile personalizate pe care le adaugi folosind add_image_sizes()?

0
Toate răspunsurile la întrebare 1
13

Citești greșit Codex-ul. Funcția wp_get_attachment_image_src() funcționează perfect cu dimensiuni personalizate ale imaginilor.

Dovadă de concept:

// copiat din Codex
// https://codex.wordpress.org/Function_Reference/add_image_size
if ( function_exists( 'add_image_size' ) ) { 
    add_image_size( 'category-thumb', 300, 9999 ); //300 de pixeli lățime (și înălțime nelimitată)
    add_image_size( 'homepage-thumb', 220, 180, true ); //(decupată)
}

Adaugă o imagine în Biblioteca Media, apoi...

$image_attributes = wp_get_attachment_image_src( 28, 'category-thumb' ); 
var_dump($image_attributes);

Vei observa că imaginea returnată este (aproximativ) 300x9999 - adică 300 lățime și orice înălțime care se scalează corect.

6 apr. 2014 20:19:27
Comentarii

mersi, dar asta nu este o dovadă, deja folosesc var_dump pentru a vedea. Nu obțin nimic în afară de thumbnail-urile originale. Cred că adevărul este altundeva, folosesc wp beta 3.9 3, nu știu dacă contează

JMau JMau
6 apr. 2014 20:26:02

Funcționează când încerc eu și nu văd nimic în sursă care să limiteze dimensiunile. Problema pe care o ai nu se află acolo unde crezi, sunt sigur. Testat pe 3.9.

s_ha_dum s_ha_dum
6 apr. 2014 20:35:24

Presupun că ai dreptate, nici eu nu văd asta. $size este un string.

JMau JMau
6 apr. 2014 20:41:04

Dar e ciudat că funcționează doar cu dimensiunile încorporate pentru mine!

JMau JMau
6 apr. 2014 21:18:00

Este altceva în neregulă. Încearcă cu o temă inclusă și fără pluginuri.

s_ha_dum s_ha_dum
6 apr. 2014 21:23:27

Adaug +1 la răspunsul tău pentru că cred că ai dreptate, dar problema încă persistă. Când folosesc var_dump primesc false pentru al patrulea element din array oO

JMau JMau
7 apr. 2014 01:11:13

Al patrulea element este "[3] => boolean: true dacă $url este o imagine redimensionată, false dacă este originala." Nu înțeleg de ce acest lucru este relevant. În al doilea rând, cred că întâmpinați problema pe care o descrieți, dar acest lucru nu răspunde la întrebarea pusă și nu există nicio modalitate de a ghici ce altceva ar putea cauza probleme.

s_ha_dum s_ha_dum
7 apr. 2014 01:16:03

Știu deja acest lucru pentru că mă concentrez asupra acestui element particular al array-ului, dar mulțumesc. Problema aici este că parametrul $size din wp_get_attachment_image_src() este o variabilă în codul meu.

JMau JMau
7 apr. 2014 01:40:11

Dacă acea parte a rezultatului este problema, atunci întrebarea dumneavoastră este extrem de înșelătoare.

s_ha_dum s_ha_dum
7 apr. 2014 01:41:44

Credeam că e o eroare în WP înainte să întreb aici ^^

JMau JMau
7 apr. 2014 01:42:40

Întrebarea ta nu are nicio legătură cu conținutul specific al acelui al patrulea element din array.

s_ha_dum s_ha_dum
7 apr. 2014 01:44:18

acest al patrulea element indică dacă este sau nu o imagine redimensionată, deci are totul de-a face cu asta. Dar cum am zis, mulțumesc mult și îmi cer scuze că te-am deranjat cu întrebările mele stupide ^^

JMau JMau
7 apr. 2014 01:46:30

Nu uita că trebuie să regenerezi toate thumbnail-urile pentru ca noua dimensiune personalizată să funcționeze. Poți face acest lucru folosind cod sau cu plugin-ul "Regenerate thumbnails".

Floris Floris
16 sept. 2019 10:42:43
Arată celelalte 8 comentarii