add image size non funziona anche dopo la rigenerazione delle miniature

21 apr 2014, 09:41:40
Visualizzazioni: 25.1K
Voti: 3

Sto riscontrando questo problema molto frustrante dove add_image_size() sembra non funzionare affatto (in effetti, non l'ho mai visto funzionare prima). Per "non funzionare" intendo che non ridimensiona/ritaglia (se rimuovo la larghezza/altezza CSS, la miniatura avrà esattamente la dimensione con cui l'ho caricata).

Ho già implementato:

  1. add_theme_support( 'post-thumbnails' )
  2. add_image_size( 'small-thumb', 60, 60, true )
  3. the_post_thumbnail( 'small-thumb' )
  4. E, cosa più importante, sì, ho rigenerato le mie miniature quasi 50 volte dopo aver modificato add_image_size() e non funziona ancora.

Ora ho una domanda relativa a questo problema: Gli stili CSS come max-width/ max-height/ width / height o altro influenzano le funzioni delle miniature di WordPress?

Qualcuno sa cos'altro posso provare per risolvere questo problema?

Grazie

1
Commenti

Stai utilizzando the_post_thumbnail all'interno del loop? Il post corrente ha un'immagine in evidenza? Puoi pubblicare il tuo codice?

cybmeta cybmeta
21 apr 2014 10:00:31
Tutte le risposte alla domanda 3
3

Ci sono un paio di cose da verificare qui.

Innanzitutto, assicurati che add_theme_support( 'post-thumbnails' ) venga caricato prima di add_image_size( 'small-thumb', 60, 60, true )

Puoi sempre collegare tutto attraverso una funzione all'hook after_setup_theme. Io aggiungo sempre queste cose nella mia funzione di setup del tema:

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' );

A parte questo, tutto dovrebbe funzionare se chiami correttamente la tua miniatura del post nel loop.

Riguardo alla tua domanda:

Lo stile CSS come max-width/max-height/width/height o altro influisce sulle funzioni delle miniature di WordPress?

No, non ha alcun effetto. Il CSS manipola solo come una miniatura viene visualizzata sul front-end

21 apr 2014 10:06:38
Commenti

Proverò a fare così. Quello che ho notato è che il mio add_theme_support() e add_image_size() sono in 2 funzioni diverse. La funzione add_image_size() deve essere chiamata usando quell'hook (insieme a add_theme_support())? Importa se viene chiamata altrove?

Bobby Bobby
21 apr 2014 10:14:50

Questo può avere un effetto, come ho detto, potrebbe essere che il tuo add_image_size() venga eseguito prima di add_theme_support(). Personalmente preferisco tenerli tutti insieme in una singola funzione

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

Ora capisco la logica. Finalmente ho capito cosa c'era che non andava. L'autore del tema ha inserito diversi add_image_size() in una funzione che non ha chiamato (non agganciata all'after theme setup). Wow... Grazie mille Pieter, ora funziona. Penso che d'ora in poi mi atterrò al tuo metodo.

Bobby Bobby
21 apr 2014 10:20:02
0

Un'altra cosa da verificare se le immagini che ti aspetti non vengono generate è controllare se vengono create le dimensioni delle immagini.

Controlla la tua directory uploads. Se non ci sono voci multiple per immagini di grandi dimensioni (come le seguenti)

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

Allora potresti non avere la libreria GD installata.

if ( !extension_loaded('gd') || !function_exists('gd_info') ) {
    echo 'Libreria GD non installata';
} else {
    echo 'Libreria GD disponibile';
}

Se la libreria GD non è installata, devi installarla prima che WordPress possa creare le dimensioni aggiuntive delle tue immagini.

7 dic 2016 16:39:47
0

nel mio caso, c'è stato un errore durante la rigenerazione di un'immagine perché era troppo grande! quindi il sistema non ha rigenerato le versioni più piccole. puoi notare questo problema se l'esecuzione del plugin "regenerate thumbnails" è troppo veloce per questa specifica immagine E puoi verificare via FTP che non ci siano versioni più piccole dell'immagine. in questo caso, scarica semplicemente l'immagine, ridimensionala alla metà delle dimensioni originali, elimina l'immagine dalla tua libreria media e poi carica la versione più piccola e avvia di nuovo "regenerate thumbnails". dovrebbe funzionare.

btw.: l'immagine problematica aveva dimensioni 7594x3744@24bit@684kb

18 mag 2016 11:44:21