add_image_size() per tipi di post specifici

26 nov 2010, 23:28:23
Visualizzazioni: 12.9K
Voti: 19
set_post_thumbnail_size( 80, 80, true ); // true per tutti i tipi di post

Supponiamo che nel mio blog ci siano due tipi di post: Articolo, Video e Prodotto. Potrei volere una dimensione immagine di 80x80 per i miei articoli, ma 100x100 per i video e 50x100 per i Prodotti. Per quanto ne so, sono costretto a creare miniature per le immagini dei miei Articoli nelle dimensioni di 100x100 e anche 50x100. E per i miei prodotti, sono costretto a creare miniature che sono 80x80 e 100x100, anche se non le userò mai.

Esiste un modo per creare dimensioni immagini basate sui tipi di post in modo da non finire per creare un sacco di immagini che non hai intenzione di utilizzare, sprecare risorse che potrebbero essere utilizzate altrove?

4
Commenti

Mi sono imbattuto esattamente nella stessa necessità.

MikeSchinkel MikeSchinkel
27 nov 2010 00:34:09

Cosa succede se usi questa funzione image_resize nel tema nelle parti dove hai bisogno di quella dimensione dell'immagine? Puoi anche scrivere una funzione abbreviata per usi multipli a seconda del contesto.

User User
21 giu 2012 23:07:55

Sembra una svista evidente, davvero non è ancora stata risolta?

Nathan Hornby Nathan Hornby
21 feb 2017 19:18:32

Dimensioni Immagine per Tipi di Post https://wordpress.org/plugins/post-types-image-sizes/

Parsa Parsa
28 dic 2019 10:40:08
Tutte le risposte alla domanda 3
1
13

Non è possibile basare le dimensioni delle immagini sul tipo di articolo, poiché le immagini non sono ancora associate a un articolo quando le carichi e vengono create le dimensioni intermedie (quando le aggiungi tramite "Nuovo file multimediale" non sono associate a nessun articolo).

Tuttavia, recentemente ho creato due plugin che insieme fanno quello che vuoi. Virtual intermediate images intercetta la creazione delle dimensioni intermedie delle immagini: non vengono create sul disco, ma esistono ancora nell'array dei metadati. Questo fa credere a WordPress che esistano, quindi puoi usarle come immagini normali. Il plugin complementare, On-Demand Resizer, crea le dimensioni mancanti delle immagini quando vengono richieste. La prima volta che l'immagine viene richiesta viene creata, tutte le richieste successive serviranno semplicemente la nuova immagine creata.

Questi plugin hanno bisogno di una riscrittura prima che li inserisca nella directory dei plugin di WordPress, ma dovrebbero essere sicuri. O almeno hanno commenti TODO dove non sono sicuri.

26 nov 2010 23:40:35
Commenti

Bello!

MikeSchinkel MikeSchinkel
27 nov 2010 00:36:11
0

Ho pubblicato del codice in quest'altro thread che imposta un transient con il tipo di post quando si carica un'immagine, e poi verifica il valore di quel transient e regola la dimensione della miniatura del post di conseguenza quando il caricamento è terminato. Non è perfetto o infallibile, ma dovrebbe almeno dimostrare il concetto.

30 dic 2010 01:41:43
0

Ho ideato la seguente soluzione. Crea immagini solo per il tipo di post personalizzato senza generarne altre aggiuntive. L'unico problema è che se utilizzi plugin come Advanced Custom Fields, quando cerchi di visualizzare il campo galleria, mostra solo le dimensioni predefinite delle immagini di WordPress: 'thumbnail', 'medium', 'large' e non puoi accedere alle dimensioni personalizzate delle immagini del post create.

if ( function_exists ('add_image_size') ) {

function remove_default_img($sizes) {
    unset( $sizes['medium']);
    unset( $sizes['large']); 
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_default_img');

$type = get_post_type($_REQUEST['post_id']);
// Dimensioni Immagini per Post Personalizzato =================================
if ( $type === "Custom_Post_Name" || $post_type === "Custom_Post_Name" ) {
add_image_size('custom_size_img', 165, 249, true);
}

}

22 mag 2014 20:16:18