J'ai la structure permalink http://domain.com/%postname%/ , ce que je veux conserver pour la plupart de mes messages. Cependant, il existe une catégorie de messages à partir de laquelle je souhaite passer http://domain.com/%postname%/ to http://domain.com/articles/%postname%/ .
Des idées comment je peux accomplir ceci pour cette catégorie de publications sans changer les URL de toutes les autres publications?
Supposons que articles
soit un slug de la catégorie.
add_action('init', function()
{
add_rewrite_rule('^articles/([^/]+)/?$', 'index.php?name=$matches[1]', 'top');
}, 10, 0);
add_filter('post_link', function($post_link, $post, $leave_name = false, $sample = false)
{
if ( has_category('articles', $post) ) {
$post_link = str_replace('/' . $post->post_name, '/articles/' . $post->post_name, $post_link);
}
return $post_link;
}, 10, 4);
C'est tout. Essayez-le dans votre functions.php
et souvenez-vous de vider votre structure de permalien.
Références :