adăugarea dimensiunii imaginii nu funcționează nici după regenerarea miniaturilor

21 apr. 2014, 09:41:40
Vizualizări: 25.1K
Voturi: 3

Mă confrunt cu această problemă foarte frustrantă în care add_image_size() pare să nu funcționeze deloc (de fapt, nu am văzut-o să funcționeze niciodată până acum). Prin nefuncționare, mă refer la faptul că nu redimensionează/decupează (dacă elimin lățimea/înălțimea din CSS, miniatura va avea exact dimensiunea cu care am încărcat-o).

Am implementat:

  1. add_theme_support( 'post-thumbnails' )
  2. add_image_size( 'small-thumb', 60, 60, true )
  3. the_post_thumbnail( 'small-thumb' )
  4. Și cel mai important, da, mi-am regenerat miniaturile de aproape 50 de ori până acum după modificarea add_image_size() și tot nu funcționează.

Acum am o întrebare legată de această problemă: Stilizarea CSS precum max-width/ max-height/ width / height sau orice altceva afectează funcțiile pentru miniaturi din WordPress?

Știe cineva ce altceva aș putea încerca pentru a rezolva această problemă?

Mulțumesc

1
Comentarii

Folosești the_post_thumbnail în interiorul buclei? Are postul curent o imagine reprezentativă? Poți posta codul tău?

cybmeta cybmeta
21 apr. 2014 10:00:31
Toate răspunsurile la întrebare 3
3

Sunt câteva aspecte de verificat aici.

În primul rând, asigură-te că add_theme_support( 'post-thumbnails' ) este încărcat înainte de add_image_size( 'small-thumb', 60, 60, true )

Poți să le conectezi pe toate printr-o funcție la hook-ul after_setup_theme. Eu adaug întotdeauna acestea în funcția de configurare a temei:

function wpse_setup_theme() {
   add_theme_support( 'post-thumbnails' );
   add_image_size( 'small-thumb', 60, 60, true );
}

add_action( 'after_setup_theme', 'wpse_setup_theme' );

În afară de asta, totul ar trebui să funcționeze dacă apelezi corect thumbnail-ul postării în buclă.

Referitor la întrebarea ta

Stilurile CSS precum max-width/ max-height/ width / height sau orice altceva afectează funcțiile de thumbnail din WordPress?

Nu, nu afectează. CSS-ul manipulează doar modul în care un thumbnail este afișat pe partea de front-end.

21 apr. 2014 10:06:38
Comentarii

Voi încerca asta. Ce am observat este că funcțiile mele add_theme_support() și add_image_size() sunt în 2 funcții diferite. Trebuie ca funcția add_image_size() să fie apelată folosind acel hook (împreună cu add_theme_support())? Contează dacă este apelată în altă parte?

Bobby Bobby
21 apr. 2014 10:14:50

Aceasta poate avea un efect, cum am spus, este posibil ca add_image_size() să ruleze înaintea add_theme_support(). Personal, prefer să le țin pe toate împreună într-o singură funcție

Pieter Goosen Pieter Goosen
21 apr. 2014 10:17:18

Acum înțeleg logica. În sfârșit am văzut ce era greșit. Autorul temei a plasat mai multe add_image_size() într-o funcție pe care nu a apelat-o (nu a legat-o de after theme setup). Wow... Mulțumesc mult, Pieter, am rezolvat problema. Cred că de acum voi folosi metoda ta.

Bobby Bobby
21 apr. 2014 10:20:02
0

Un alt lucru de verificat dacă imaginile așteptate nu sunt generate este să vezi dacă sunt create dimensiuni diferite ale imaginilor.

Verifică directorul de uploads. Dacă nu există mai multe intrări pentru imagini de dimensiuni mari (ca următoarele)

  • image.jpg
  • imagex150x150.jpg
  • imagex300x300.jpg

Atunci este posibil să nu ai biblioteca GD instalată.

if ( !extension_loaded('gd') || !function_exists('gd_info') ) {
    echo 'Biblioteca GD nu este instalată';
} else {
    echo 'Biblioteca GD este disponibilă';
}

Dacă biblioteca GD nu este instalată, atunci trebuie să o instalezi înainte ca WordPress să poată crea dimensiunile suplimentare ale imaginilor.

7 dec. 2016 16:39:47
0

în cazul meu, a apărut o eroare la regenerarea unei imagini, deoarece imaginea era prea mare! astfel, sistemul nu a regenerat versiunile mai mici. poți observa acest lucru dacă executarea plugin-ului de regenerare a miniaturilor rulează prea repede pentru această imagine specifică ȘI poți verifica prin FTP că NU există versiuni mai mici ale imaginii. în acest caz, pur și simplu descarcă imaginea, redimensionează-o la jumătate, șterge imaginea din biblioteca de media și apoi încarcă versiunea mai mică și pornește din nou regenerarea miniaturilor. ar trebui să funcționeze după aceea.

apropos: imaginea problematică avea dimensiunile 7594x3744@24bit@684kb

18 mai 2016 11:44:21