web-dev-qa-db-fra.com

Lien permanent/Problème de pagination: nom de base de la catégorie identique au nom de la page

J'ai actuellement une page appelée "Blog" (slug "blog"), qui charge un index.php. Tous les messages dans index.php appartiennent à une seule catégorie de messages. Une barre latérale sur index.php contient des liens de catégorie (via wp_list_categories) qui chargent archive.php pour cette taxonomie donnée.

Le problème que je rencontre est que le nom de base de la catégorie est actuellement défini sur le même slug que la page: "blog". Je suis conscient que cela peut causer des problèmes avec les règles de réécriture, mais pour la plupart, tout semble aller pour le mieux. Le seul problème concerne les pages de pagination pour index.php (mysite.com/blog/page/2 ne fonctionne pas alors que mysite.com/blog/foo-category/page/2 fonctionne bien).

Existe-t-il une règle de réécriture pouvant m'aider dans ma situation actuelle? Et si oui, une aide serait appréciée.

Si c'est une mauvaise idée, parlez-en également. J'espérais obtenir une structure d'URL quelque peu RESTful, mais la structure permalien des wordpresses ne semble pas être la plus flexible.

Merci

3
Paul T

Ceci n'a pas été testé, mais devrait fonctionner pour vous. Visitez la page des paramètres de permaliens pour vider les règles de réécriture après avoir ajouté:

function wpa_fix_blog_pagination(){
    add_rewrite_rule(
        'blog/page/([0-9]+)/?$',
        'index.php?pagename=blog&paged=$matches[1]',
        'top'
    );
}
add_action( 'init', 'wpa_fix_blog_pagination' );
3
Milo