Woocommerce. Come mostrare più prodotti nelle pagine categoria

mostrare più prodotti nelle pagine categoria

Woocommerce è un sistema per realizzare e-commerce molto potente, ma ahimè, è anche molto rigido e per effettuare determinate modifiche si ha bisogno di intervenire con un po’ di codice. Questa volta vedremo come aumentare il numero di prodotti nelle pagine categoria.

Più prodotti nelle pagine categoria

Di default Woocommerce visualizza nelle pagine categoria 9 prodotti, a meno che abbiate scelto un tema per il quale lo sviluppatore abbia ridefinito questa quota diversamente.

Se però sei nella situazione di avere un numero di prodotti non sufficiente nelle tue pagine categoria, sappi che puoi cambiarlo con una semplice riga di codice da scrivere sul file functions.php del tema.

In questa maniera riusciamo a mostrare più prodotti nelle pagine categoria.

Vediamo come fare

Per prima cosa assicurati di aver creato un tema child, altrimenti la modifica che stai per fare scomparirà al primo aggiornamento del tuo tema. Se ti serve sapere come fare, ecco un articolo che spiega come creare un tema child su WordPress.

Ora, scarica il file functions.php con un client FTP come Filezilla, o in mancanza, puoi farlo direttamente dalla bacheca di WordPress, andando su PersonalizzaEditor del Tema e selezionando il functions.php per la modifica.

Io consiglio comunque di utilizzare il metodo con l’FTP perché se qualcosa andasse storto modificando direttamente su WordPress, potreste non avere più accesso alla bacheca. Se ti serve sapere come funziona Filezilla leggi questa guida.

ORA LEGGETE FINO ALLA FINE PRIMA DI PROCEDERE
La soluzione che segue è stata la prima che ho utilizzato e ha funzionato senza problemi, ma ha il piccolo problema che contiene una funzione deprecata a partire da php 7.2. Deprecata non significa che non funziona ma che utilizza qualcosa che non è più supportato. Quindi tenetela come soluzione di riserva e andate avanti nella lettura perché fornirò anche la soluzione definitiva.

Dunque, la prima soluzione consiste nello scaricare il functions.php e di aprirlo con un editor di testo per aggiungervi alla fine, questa riga di codice:

add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 20;' ), 20 );

Nella riga inserita, ordiniamo al tema di mostrarci 20 prodotti in ogni pagina categoria (return 20;). Se avete bisogno di più prodotti o meno prodotti, potete cambiare quel numero a vostro piacimento.

Attenzione: se il vostro functions.php finisce con il tag di chiusura ?>, la riga di codice va inserita prima di esso.

Criticità della soluzione

Spulciando tra le documentazioni, ho però scoperto che la funzione “create_function”, sembra essere stata deprecata a partire dalla versione php 7.2. La soluzione allora dovrà essere diversa nel caso in cui questa non funzioni e ce la fornisce Woocommerce stesso.

La Soluzione Definitiva per visualizzare più prodotti nelle pagine categoria

A questo punto, grazie all’assistenza Woocommerce, sono in grado di dare la soluzione definitiva che consiste nell’inserire nel functions.php il codice che segue. La soluzione è stata testata personalmente ed è funzionante. Permette di visualizzare un maggior numero di prodotti nelle pagine categoria, senza alcun problema di compatibilità e senza l’utilizzo di funzioni deprecate.

//aumento il numero di prodotti nelle pagine categoria di Woocommerce
add_filter( 'loop_shop_per_page', 'new_loop_shop_per_page', 20 );
function new_loop_shop_per_page( $cols ) {
$cols = 30;
return $cols;
}

In $cols = xx; mettiamo il numero di prodotti che vogliamo visualizzare (in questo caso 30). È li che dovete agire per impostare il numero di prodotti desiderato.

Ora controllate le vostre pagine categoria e contate quanti prodotti sono stati visualizzati. Se il numero di prodotti nella pagina corrisponde a quello che avete impostato nel functions.php, avete raggiunto lo scopo.

Readers Comments (1)

  1. Simone Longato 21 Giugno 2023 @ 22:03

    Grande Flavio che hai inserito la soluzione corretta da inserire nel file functions.php così da non creare errori nella visualizzazione dell’e-commerce 🙂

Leave a comment

Il tuo indirizzo email non sarà pubblicato.


*