Nu funcționează decuparea fixă pentru the_post_thumbnail indiferent ce setez

8 dec. 2011, 04:07:00
Vizualizări: 27.4K
Voturi: 8

Indiferent ce fac - nu pot face ca modul de decupare fixă în the_post_thumbnail să funcționeze.

Iată ce am încercat:

add_image_size( 'Blog', 300, 300, true ); // Adaugă dimensiune imagine
the_post_thumbnail('Blog');

Am încercat și:

set_post_thumbnail_size( 300, 300, true ); // Setează dimensiunea miniaturii
the_post_thumbnail();

Am încercat să încarc imagini noi și să folosesc plugin-ul "Regenerate Thumbnails", dar tot fără succes. Ignoră complet parametrul "true" și se comportă ca și cum ar fi "false". De exemplu, în loc ca imaginea să fie 300x300, va fi 300x238 sau ceva similar.

A mai întâmpinat cineva această problemă? Biblioteca mea GD este activată..

Mulțumesc pentru orice sugestie pe care o puteți oferi =)

5
Comentarii

Codul tău arată în regulă. Am tras păr din cap din cauza asta în trecut și problema pe care o aveam era că imaginile pe care le încărca clientul meu erau mai mici decât dimensiunea de tăiere și, deși dimensiunea mai mare era scalată, ambele dimensiuni nu erau scalate. Asta a fost acum câteva versiuni, dar ar putea fi ceva de verificat.

patnz patnz
8 dec. 2011 05:22:26

Încarcă o imagine mai mare decât 300x300 și ar trebui să funcționeze.

Chris_O Chris_O
8 dec. 2011 07:24:25

Mulțumesc pentru comentarii. Din păcate, am încercat să încarc imagini mari pentru a fi redimensionate și tot nu am noroc. De exemplu, am schimbat codul meu în asta:

add_image_size( 'Blog', 200, 200, true );

Imaginea pe care am încărcat-o (proaspăt) este de 359x500. Rezultatul final este imaginea redusă la 143x200. Habar n-am ce altceva să mai încerc lol

Din nou, apreciez comentariile voastre!

Tom Tom
8 dec. 2011 21:41:01

Cel mai probabil o problemă de server -> verifică răspunsul meu de mai jos.

Brian Fegter Brian Fegter
17 feb. 2012 11:33:22

Referitor la ediția pe care tocmai am aprobat-o: Te rog să adaugi soluțiile ca răspuns. Poți să le marchezi ca soluție (bifa verde sub săgețile de vot) după două zile.

kaiser kaiser
26 iul. 2012 04:11:30
Toate răspunsurile la întrebare 8
2

De multe ori motivul pentru care nu funcționează este pentru că nu ai regenerat miniaturile pentru toate imaginile tale.

Dacă ai modificat dimensiunile imaginilor, va trebui să regenerezi miniaturile folosind acest plugin: http://wordpress.org/extend/plugins/regenerate-thumbnails/

26 iul. 2012 05:12:54
Comentarii

Nu cred că poți face asta din biblioteca de media implicită, nu-i așa? Eu a trebuit să folosesc plugin-ul "Regenerate Thumbnails".

Simon East Simon East
15 sept. 2014 12:17:10

Da, așa este. Am uitat să menționez asta acum câțiva ani, în zilele mele mai novice :P Am editat răspunsul.

bryceadams bryceadams
15 sept. 2014 15:09:56
4

Probabil nu ai bibliotecile GD instalate pe server. Fără acestea, vei putea doar să încarci fișiere, dar nu vei putea realiza decupaje de imagini.

Mai întâi, verifică dacă GD este instalat prin apelarea funcției phpinfo().

Instalarea GD pe Linux

Dacă ai acces la shell, introdu această comandă:

sudo apt-get install php5-gd

După instalarea GD, va trebui să repornești serverul.

Iată comanda pentru repornirea Apache:

/etc/init.d/apache2 restart

Hosting Partajat

Dacă folosești un serviciu de hosting partajat, va trebui să contactezi furnizorul de hosting pentru a instala GD pe server.

Un ultim aspect

Tema ta are suport pentru miniaturi?

add_theme_support('post-thumbnails');
17 feb. 2012 11:32:40
Comentarii

Mulțumesc mult pentru răspuns, Brian =)

Am confirmat că GD Library este instalată pe serverul meu (folosesc WAMP) - am întâlnit aceeași problemă atât pe serverul meu, cât și pe altele.

Problema mă lasă perplex, mă gândesc că e ceva ce fac eu greșit, dar totul pare să fie în regulă.

Mai ai alte sugestii? Mulțumesc mult.

Tom Tom
19 feb. 2012 05:45:30

@Tom Verifică ultima ediție. :)

Brian Fegter Brian Fegter
19 feb. 2012 13:53:55

Mulțumesc pentru urmărire. Da, am thumbnails activate, pot selecta featured image și acesta apare, dar nu face crop exact la dimensiunile pe care le specific. Ar putea fi un conflict cu altceva din tema mea? Momentan folosesc TimThumb pentru asta, dar aș prefera să folosesc funcțiile WordPress oriunde e posibil.. Mulțumesc din nou =)

Tom Tom
20 feb. 2012 19:53:48

Acesta a fost răspunsul pe care îl căutam. Știam că trebuie să instalez un pachet și căutam exact care... mulțumesc

Orabîg Orabîg
14 ian. 2013 02:05:56
2

Am reușit în sfârșit să rezolv această problemă.

Se pare că decuparea forțată (hard-cropping) funcționează dacă setezi dimensiunea imaginii în cadrul unei funcții care este atașată la hook-ul "after_setup_theme".

Deci, următorul cod va funcționa:

function add_custom_sizes() {
    // Adăugăm dimensiuni personalizate pentru imagini
    add_image_size( 'portfolio-thumb', 243, 163, true ); // Miniatură portofoliu (decupare forțată)
    add_image_size( 'portfolio-image', 1074, 725, true ); // Imagine portofoliu (decupare forțată)
    add_image_size( 'available-homes', 500, 279, true ); // Case disponibile (decupare forțată)
    add_image_size( 'idea-thumb', 146, 141, true ); // Miniatură idee (decupare forțată)
}
add_action('after_setup_theme','add_custom_sizes');

Această abordare vă va permite să obțineți imagini cu decupare forțată folosind dimensiunile specificate prin intermediul funcției the_post_thumbnail().

Sper că această soluție va fi utilă și pentru alții.

22 nov. 2012 19:21:46
Comentarii

am încercat tot, inclusiv asta, tot nu a funcționat

Tintinabulator Zea Tintinabulator Zea
3 oct. 2018 06:44:23

Nici asta nu funcționează pentru mine.

Lars SG Lars SG
11 feb. 2021 07:30:57
0

În loc să definiți dimensiunea miniaturii articolului ca blog, de ce nu setați direct miniatură în șablonul unde doriți să fie afișată...

the_post_thumbnail($post->ID, array(300,300, true));
31 dec. 2011 00:12:31
0

Tocmai am întâmpinat aceeași problemă și soluția pentru mine a fost regenerarea miniaturilor, așa cum a sugerat bryceadams (din păcate, nu am suficiente puncte pentru a vota pentru răspunsul său).

Precizare: imaginile trebuie să fie stocate local, nu la distanță. Se presupune că pentru imaginile de la distanță nu sunt generate miniaturi.

9 mai 2013 13:28:14
0

În cazul meu, această problemă a fost cauzată de permisiunile de fișiere pentru imagini. Am copiat imaginile de pe un server pe altul, uitând să schimb proprietarul. Când au fost setate dimensiuni noi pentru imagini și le-am regenerat, imaginile vechi nu au fost suprascrise așa cum ar fi trebuit.

Pentru a remedia această problemă, m-am conectat la serverul meu prin SSH, am navigat în folderul wp-content/uploads și am resetat proprietarul pentru toate imaginile de acolo. De exemplu:

chown -R {utilizator web}:{grup} .

Sper că acest lucru va ajuta pe cineva.

27 mai 2015 13:01:28
0

Nu vei avea niciodată o imagine decupată hard decât dimensiunile implicite. Nu vei primi acest răspuns pe forumurile WP, sau dacă îl primești, îți vor arăta un morcov săptămâni întregi până când devii anxios și ești blocat sau problema e rezolvată în tăcere.

Imaginile decupate hard sunt doar pentru

  • Thumbnail
  • Toate celelalte dimensiuni EXCEPT thumbnail ȘI DIMENSIUNILE TALE PERSONALIZATE

Lucrurile care nu sunt posibile nu sunt niciodată afișate în front-end sau sunt acoperite cât se poate pe forumuri (proiectul nostru gratuit .org este produsul lor .com) chiar dacă opțiunile de mai sus te-au făcut să-ți smulgi părul luni de zile.

A doua opțiune ar trebui să fie "TOATE CELELALTE DIMENSIUNI EXCEPT ALE TALE"

Lucrez la un plugin pentru asta și încă un pic de magie. Îl voi termina în curând, dar voi avea nevoie de ajutor să-l public în biblioteca de plugin-uri din moment ce am fost banat! hehe (pentru că am ajutat alții cu bug-uri neraportate (sau ignorate))

27 oct. 2012 01:11:50
0

Am avut aceeași problemă și am instalat un plugin care permite regenerarea uneia/mai multora/tuturor imaginilor tale. Acesta este plugin-ul: [http://wordpress.org/plugins/regenerate-thumbnails/]

Nu am găsit nicio modalitate de a face asta din interfața de administrare WP, decât dacă ștergi și încarci din nou imaginea.

O altă modalitate de a face asta, dacă nu dorești să folosești un plugin, ar fi să folosești funcții PHP

function wp_regenerate() {
include( ABSPATH . 'wp-admin/includes/image.php' );
wp_generate_attachment_metadata( $thumbnail_id, $absolute_path_to_image ); }

add_action('after_setup_theme', 'wp_regenerate');

unde $thumbnail_id și $absolute_path_to_image trebuie setate cu valorile pe care le dorești.

Mulțumesc lui @briceadams și @adriaticiq. Încă nu pot să vă votez, dar o voi face de îndată ce voi avea permisiunea.

30 dec. 2013 17:45:29