[tweet “Come sostituire l’immagine placehorder standard di WooCommerce”]
Quando si crea un prodotto senza immagini, WooCommerce inserisce un placeholder, un’immagine provvisoria.
Per funzioni estetiche, sicuramente, ma anche per evitare eventuali brutti errori 404 con quelle ancor più brutte icone di immagini spezzate, evidenziare le immagini mancanti.
Il placeholder che WooCommerce utilizza di default può non piacere, e magari si vorrebbe qualcosa di personalizzato.
È possibile sostituire l’immagine provvisoria con uno snippet, molto semplice da realizzare.
Per prima cosa, bisogna creare un’immagine più adatta alle nostre esigenze.
Poi si apre il file delle funzioni del tema, il solito functions.php, possibilmente con un tema child, e si inserisce questo codice:
add_action( 'init', 'custom_fix_thumbnail' ); function custom_fix_thumbnail() { add_filter('woocommerce_placeholder_img_src', 'custom_woocommerce_placeholder_img_src'); function custom_woocommerce_placeholder_img_src( $src ) { $upload_dir = wp_upload_dir(); $uploads = untrailingslashit( $upload_dir['baseurl'] ); $src = $uploads . '/2014/01/placeholder.jpg'; return $src; } }
L’unica accortezza, bisogna sostituire alla riga 9 il path dell’immagine, quel “/2014/01/placeholder.jpg” che ho usato come esempio, con il path corretto dell’immagine che nel frattempo abbiamo aggiunto ai media di WordPress.
Va presa solo la parte finale del percorso completo dell’immagine, quella che viene dopo “uploads”. Quella marcata in rosso, per capirci meglio, nell’esempio che segue:
http://www.dominio.dom/wp-content/uploads/2014/01/placeholder.jpg
Il nuovo placeholder, a questo punto, viene utilizzato sia nelle pagine del prodotto singolo, sia negli archivi di categoria e nello shop.
La fonte dello snippet è la documentazione di WooCommerce, ed è stato testato con WooCommerce 2.1.10 e WordPress 4.1
7 risposte
Ciao Roberto, grazie intanto per la risposta..
Si a questo punto credo sia un problema del tema.
nel caso ti contatto in privato, magari riesci a darci un’occhiata e ad aggiustare facilmente il problema.
Francesco
ciao, c’è anche un modo per disabilitare l’immagine di default delle categorie?
Per esempio nella pagina che racchiude tutte le categorie è brutto vedere l’immagine di default per ogni sotto categoria. Si può disabilitare?
In alternativa sarebbe carino che l’immagine della categoria sia “pescata” random da quelle dei prodotti in essa contenuta.
Che ne pensi? come si potrebbe fare?
ciao, credo non funzioni piu’ con 4.7.5 e woocommerce 3.0, c’è per caso un upgrade?
grazie infinite!
Ciao Francesco, nella documentazione di woocommerce c’è ancora lo stesso snippet, non mi pare sia stato adattato per nuove versioni: https://docs.woocommerce.com/document/change-the-placeholder-image/
Magari non va d’accordo con il tema.
rob
Ciao Roberto, volevo chiederti ma se molto più semplicemente andassi ad uplodare una mua immagine al posto di quella di default e la nominassi allo stesso modo non avrei lo stesso risultato? In caso di aggiornamenti sarei al punto di partenza immagino …però .ciao e buona giornata
Ciao Stefano, certo sostituire l’imagine direttamente nei file di WooCommerce sarebbe la soluzione più semplice, ma come hai detto tu al primo aggiornamento ti ritroveresti con l’immagine di default.
Ma oltre a questo, c’è da aggiungere il fatto che un’immagine personalizzata tramite snippet la puoi filtrare con un po’ di php condizionale, come ho appena fatto io per un cliente, creando dele immagini diverse per ogni categoria di prodotto, ad esempio.
rob
grazie, molto interessante