Quando si vuole effettuare una paginazione di una categoria in WordPress, è facile voler anche impostare il numero di articoli da visualizzare per ogni pagina.
Si verifica un problema di “amnesia”: impostando nella pagina un numero di articoli diverso da quello deciso nelle impostazioni generali, esso non viene considerato da WordPress.
Per ovviare a questo inconveniente, bisogna aggiungere nel file functions.php, nella directory del tema utilizzato per il sito, questa funzione (con l’aggiunta del filtro opportuno), sostituendo a ‘cat1’, ‘cat2’, ecc. i nomi delle categorie del nostro sito.
function cure_wp_amnesia_on_query_string($query_string){ if ( !is_admin() ){ if ( isset( $query_string['category_name'] ) ) { switch ($query_string['category_name']) { case 'cat1': $query_string['posts_per_page'] = 2; break; case 'cat2': $query_string['posts_per_page'] = 2; break; } } if ( isset( $query_string['s'] ) ){//case SEARCH $query_string['posts_per_page'] = 5; } } return $query_string; } add_filter('request', 'cure_wp_amnesia_on_query_string');