Heb je hulp nodig of gewoon een vraag?
Om je het beste te helpen, neem contact op met onze support team.
Info: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. Lees meer
Soms kan het voorkomen dat je per type post type een ander aantal berichten wilt tonen op een pagina. Stel je voor dat je bijvoorbeeld vijf nieuwsberichten wilt tonen in een archief, maar teamleden (post-type team) wilt tonen in blokken van drie, met bijvoorbeeld negen leden op een pagina.
Standaard is er binnen WordPress geen oplossing om op basis van een posttype of categorie een x-aantal berichten per pagina te tonen. Dit is puur een algemene instelling die geldt voor de gehele site. Onderstaande functie helpt je hier een handje bij en stelt je in staat om per post type aan te geven hoeveel resultaten we willen tonen op een archief pagina.
Pas per break in onderstaande code de naam van het post type aan met daarachter het aantal posts per pagina.
// posts per page based on CPT
function tsd_custom_posts_per_page($query)
{
// do not apply logic within the admin
if (is_admin()) return $query;
switch ( $query->query_vars['post_type'] )
{
case 'teamleden': // Post Type voor teamleden
$query->query_vars['posts_per_page'] = 9;
break;
case 'woningen': // Post Type voor woningen
$query->query_vars['posts_per_page'] = 16;
break;
default:
// Do not change posts per page by default, do this in WordPress itself
break;
}
return $query;
}
add_filter( 'pre_get_posts', 'tsd_custom_posts_per_page' );Een andere oplossing, puur gericht op één post-type, kan ook onderstaande code zijn
function tsd_custom_posts_per_page( $query ) {
if (is_post_type_archive('team') && $query->query['post_type'] == 'team' ) {
$query->query_vars['posts_per_page'] = 9;
}
return $query;
}
add_action( 'pre_get_posts','tsd_custom_posts_per_page' );