16Jul 2012 0 Comments */?>

Como usar posts_per_page personalizados

Categorías: Recursos

Si quieres mostrar cantidad diferentes de posts debes usar posts_per_page. El problema que una vez cambiado te afectará todo. Con todo me refiero a las páginas, posts, custom posts types,etc. Es básicamente lo mismo que cambiar el número de entradas desde Ajustes -> Lectura.

Por ejemplo en un proyecto que estoy trabajando necesitaba que un custom post llamado “marketing” mostrará todas las entradas juntas, ya que las iba a ordenar con jQuery QuickSand. Para lograr eso, tan solo hay que colocar en functions.php lo siguiente:

function mqw_posts_per_page($query)
{
    switch ( $query->query_vars['post_type'] )
    {
        case 'marketing':  
            $query->query_vars['posts_per_page'] = -1;
            break;
        default:
            break;
    }
    return $query;
}

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

Como ven, estamos utilizando el filtro pre_get_posts para comprobar el valor de post_type dentro de query_vars.
El -1 significa que devuelva todas las entradas.
Pueden comprobar más cosas, como si es “tal categoría” devolver “tantos posts”. Les aconsejo hacer un dump de query_vars para ver las posibilidades.

<?php 
echo '<pre>';
var_dump($query->query_vars);
echo '</pre>';
?>

Damián Logghe

Programador freelancer y emprendedor en sueños. Contento de ser mi jefe y poder hacer lo que me gusta. WordPress es mi principal fuente de ingreso y me escribo tanto para ayudar como para tener una guia de memoria. Quieres contratarme? Déjame un mensaje.

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle Plus