web-dev-qa-db-fra.com

Réécrire l'URL de la page de règle avec la catégorie

J'ai activé la zone de catégorie pour les pages avec ceci:

// Add to the admin_init hook of your theme functions.php file 
add_action( 'admin_init', 'page_categories' );
function page_categories() {
    // Add tag metabox to page
    register_taxonomy_for_object_type( 'post_tag', 'page' );
    // Add category metabox to page
    register_taxonomy_for_object_type( 'category', 'page' );
}

Et maintenant, j'aimerais avoir une structure URl de:

domain.com/%category%/%pagename%/

Je suppose que cela doit être une règle de réécriture, mais je ne suis pas très bon avec les expressions régulières.

5
Matthijs Bosman

Juste du haut de ma tête, quelque chose dans ce sens pourrait marcher:

function wpse178647_rewrite() {
   add_rewrite_rule(
    '^([^/]+)/([^/]+)/?$', ''
    'index.php?category_name=$matches[1]&pagename=$matches[2]',
    'top'
    );
}
add_action( 'init', 'wpse178647_rewrite' );

Complètement et totalement non testé.

1
Nicolai