J'ai un type de message personnalisé "contest_recipe". Je peux consulter les publications de recettes du concours par année et par date avec les URL suivantes:
http://example.com/2011/?post_type=contest_recipe - shows all 2011 contest recipes http://example.com/2011/7/?post_type=contest_recipe - shows all July 2011 contest recipes
Je voudrais simplifier l'URL à
http://example.com/2011/recipes http://example.com/2011/7/recipes
Est-ce possible? Je ne connais pas le concept de règles de réécriture. Quelqu'un peut-il recommander un tutoriel sur la façon d'apprendre à ce sujet ou donner un exemple?
J'ai utilisé cela pour activer les archives annuelles et mensuelles pour un type de publication personnalisé. Il suffit de déposer ce code dans votre fichier functions.php
.
Cela ajoutera votre règle personnalisée directement en haut du tableauRules/. NB - Wordpress utilise un tableau de règles pour stocker les règles de réécriture.
<?php
function wpse22992_custom_post_rewrite( $rewrite_rules ) {
$cpslug = 'contest_recipe'; // custom post type slug
// Rule to display monthly archive -> contest_recipe/2012/08/
$year_archive = array( $cpslug . '/([0-9]{4})/([0-9]{1,2})/?$' => 'index.php?year=$matches[1]&monthnum=$matches[2]&post_type=' . $cpslug );
// Rule to display yearly archive -> contest_recipe/2012/
$month_archive = array( $cpslug . '/([0-9]{4})/?$' => 'index.php?year=$matches[1]&post_type=' . $cpslug );
$rewrite_rules = $year_archive + $month_archive + $rewrite_rules;
return $rewrite_rules;
}
add_filter('rewrite_rules_array', 'wpse22992_custom_post_rewrite');
?>
rewrite_rules_array