Como usar posts_per_page personalizados
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>'; ?>
Acerca del autor
by 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.







Últimos Comentarios