Phlox paginering toevoegen aan categorie pagina

WordPress logo.Probleem:
Mijn website maakt gebruik van het gratis Phlox thema. Prima thema en ben er zeker tevreden over. Het viel mij op dat de categorie- en tagpagina’s geen paginering onderaan de pagina hebben. Standaard worden er 10 berichten per pagina getoond. Maar ik heb categoriën zoals Computer & laptop waaraan meer dan 200 berichten zijn gekoppeld. Paginering is dan toch wel fijn voor bezoekers en zoekmachines (SEO).

Oplossing:
De oplossing is om het template bestand archive.php aan te passen. Dit template bestand wordt standaard door WordPress gebruikt om archiefpagina’s te tonen. Bekijk deze afbeelding om te zien in welke volgorde templates worden ingeladen. Categorie- en tag pagina’s maken ook gebruik van de archive.php template.

Stap 1:
Heb je nog geen child thema gemaakt van Phlox dan moet je dat eerst doen. Het aanpassen van het Phlox thema zelf is niet zo handig omdat deze updates krijgt en hierdoor jouw aanpassingen verloren gaan.

Stap 2:
Kopieer het bestand archive.php uit het Phlox thema naar jouw child thema. Jouw WordPress website moet wel het het child thema gebruiken.

Stap 3:
Zoek deze regel op in het bestand archive.php:

get_template_part( $slug, $name );

Plaats hier direct deze regels onder voor } else {:

auxin_the_paginate_nav(
    array( 'css_class' => esc_attr( auxin_get_option('archive_pagination_skin') ) )
);

Stap 4:
Opslaan, uploaden en testen of het allemaal juist werk. Maak je gebruik van cache plugins? Vergeet dan niet om de cache te wissen.

Stap 5:
Standaard zal je zien dat de paginering URLs gebruikt zoals: https://www.timdehoog.nl/categorie/computer-laptop/page/2/. Het Engelse woord page staat in de URL en dat is niet altijd even mooi. Voeg daarom onderstaande functie toe aan het functions.php bestand van je child theme. Heb je nog geen functions.php bestand dan kan je die als leeg PHP bestand toevoegen.

Page zal vervangen worden door pg, maar je kan dit ook aanpassen naar pagina of p.

function child_theme_rewrite_rules() {
    global $wp_rewrite;

    $wp_rewrite->pagination_base    = 'pg';
    $wp_rewrite->flush_rules();
}
add_action('init', 'child_theme_rewrite_rules');

Stap 6:
Opslaan, uploaden en testen of het allemaal juist werk. Maak je gebruik van cache plugins? Vergeet dan niet om de cache te wissen.

Oplossing getest op:
WordPress 4.9.8 en Phlox 2.2.16

Laat een reactie achter

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.