Modificando el número de posts en el archivo de un Custom Post Type

Cuando estamos trabajando con Custom Post Types en WordPress puede que nos interese personalizar nuestro “archivo” para el custom post en cuestión. Esto es equivalente al típico archivo de una categoría. En este post mostraré como cambiar el número de posts que se muestran en el listado de posts del archivo. 

Antes que nada, para crear nuestra propia página de archivo de uncustom post type en concreto, tenemos que crear dentro de nuestra carpeta del template un fichero cuyo nombre tiene que seguir la estructura siguiente:

archive-slug_cpt.php

Por ejemplo, si tenemos un Custom Post Type que se llama “fotos” nuestro fichero se llamará: archive-fotos.php

Consigue por solo 10€ mi
curso profesional de WordPress

La manera más fácil de cambiar el número de posts que se muestran en el archivo del Custom Post Type es hacerlo en el panel de WordPress. Para ello iremos a Ajustes -> Lectura y modificamos el parámetro “Número máximo de entradas a mostrar en el sitio”. Este número es general y afecta a todas las querys que sean del tipo “archivo” (incluso la de la home).

En mi caso tenía un problema y es que en la home de la web se tenían que mostrar 10 noticias y en el archivo del custom post se tenían que mostrar solo tres. Lo arreglé con el siguiente código que encontré:

function modificar_numero_posts_cpt( $query ) {
    if ( $query->query_vars['post_type'] == 'fotos' ) {
        $query->query_vars['posts_per_page'] = 3;
    }

    return $query;
}

if( !is_admin() ) {
    add_filter( 'pre_get_posts', 'modificar_numero_posts_cpt' );
}

Con el filtro pre_get_posts nos “colamos” antes de que la query del archivo del Custom Post sea ejecutada y le cambiamos el valor de posts_per_page, que indica cuantos posts queremos en cada página.

1 opinión en “Modificando el número de posts en el archivo de un Custom Post Type”

Deja un comentario