WordPress enthusiast working at Automattic as a Happiness Engineer

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

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.

Rate this post

Tags

Una respuesta a «Modificando el número de posts en el archivo de un Custom Post Type»

  1. Avatar de aitor
    aitor

    hola yo quiero hacer que en un categoria se me vean mas de 10 post como lo hago, no es un pagina estilo blog es una categoria llamada por una categoria base

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: