get_thumbnail_id întoarce imaginea la dimensiune completă

19 dec. 2014, 10:18:31
Vizualizări: 18.9K
Voturi: 4

Vreau să obțin miniatura imaginii reprezentative a postărilor sub formă de URL. Folosesc următorul cod pentru a obține o dimensiune mai mică a imaginii reprezentative.

$post[$i]['thumbnail'] = wp_get_attachment_url(get_post_thumbnail_id($post[$i]['id'], 'thumbnail'));

Totuși, de fiecare dată returnează imaginea la dimensiune completă. Am încercat și:

$post[$i]['thumbnail'] = wp_get_attachment_url(get_post_thumbnail_id($post[$i]['id'], array(120,140)));

Dar în continuare returnează imaginea mare. Cum pot rezolva această problemă?

1
Toate răspunsurile la întrebare 3
1

Puteți încerca să folosiți funcția wp_get_attachment_image_src()

$thumb_id = get_post_thumbnail_id($post[$i]['id']);
$thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail', true);
$post[$i]['thumbnail'] = $thumb_url_array[0];

În codul de mai sus, wp_get_attachment_image_src() returnează un array cu src-ul imaginii, înălțimea și lățimea, iar $thumb_url_array[0] reprezintă thumbnail-ul tău.

19 dec. 2014 10:36:25
Comentarii

prefer această soluție deoarece poate fi utilizată în afara unui fișier de temă

user1889580 user1889580
28 ian. 2016 19:27:50
4

Salut, mai întâi adaugă această linie în fișierul tău function.php

add_image_size( 'custom-size', 120, 140 );

Apoi apelează custom-size astfel:

<?php $thumb_id = get_post_thumbnail_id( $id );
                if ( '' != $thumb_id ) {
                    $thumb_url  = wp_get_attachment_image_src( $thumb_id, 'custom-size', true );
                    $image      = $thumb_url[0];
                }?>
            <img src="<?php echo $image;?>">

Cred că va funcționa bine

19 dec. 2014 10:43:22
Comentarii

dar ce este 'thumbnail' returnează tot mărimea completă a imaginii? nu dimensiunea de thumbnail?

rksh rksh
19 dec. 2014 10:44:06

hei dimensiunea thumbnail este definită în panoul de administrare WordPress la setări->media->Dimensiune thumbnail te rog verifică ce dimensiune este setată acolo pentru thumbnail

Amit Mishra Amit Mishra
19 dec. 2014 10:46:03

@amrith este setată la valoarea implicită 150x150 dar eu nu primesc acea dimensiune ci mărimea completă a imaginii

rksh rksh
19 dec. 2014 11:14:54

hei rksh, te rog verifică răspunsul editat, funcționează pentru mine

Amit Mishra Amit Mishra
19 dec. 2014 11:30:25
0

Sintaxa este definită astfel:

<?php echo get_the_post_thumbnail( $post_id, $size, $attr ); ?> 

Puteți obține dimensiunea implicită a imaginii în miniatură din WordPress (150x150) folosind următorul cod:

<?php get_the_post_thumbnail( $post_id, 'thumbnail' ); ?>

Dacă doriți o dimensiune personalizată pentru miniatură, folosiți următorul cod:

<?php get_the_post_thumbnail( $post_id, array( 200, 200) ); ?>

Pentru mai multe informații, vizitați WordPress Codex Click Aici

19 dec. 2014 15:27:20