Je crée un site Wordpress avec plusieurs types de messages personnalisés. Chaque type de publication est un magazine différent. J'ai également des champs méta personnalisés pour une année et un numéro de magazine.
Je voudrais avoir des urls (utilisé archive.php):
http://my_site/magazine/name/
http://my_site/magazine_name/year/
http://my_site/magazine_name/year/issue/
Je l'ai fait par code:
function magazine_rewrite_tag() {
add_rewrite_tag('%issue_year%', '([0-9]{4})');
add_rewrite_tag('%issue%', '([0-9])');
}
add_action('init', 'magazine_rewrite_tag', 10, 0);
et:
function magazine_rewrite_rules() {
add_rewrite_rule('^([a-z]+)/([0-9]{4})/([0-9])?', 'index.php?post_type=$matches[1]&issue_year=$matches[2]&issue=$matches[3]', 'top');
add_rewrite_rule('^([a-z]+)/([0-9]{4})?', 'index.php?post_type=$matches[1]&issue_year=$matches[2]', 'top');
}
add_action('init', 'magazine_rewrite_rules');
Bien sûr, j'ai également des requêtes personnalisées dans archive.php. Et ça marche bien.
Mais maintenant, mes URL pour des articles uniques ne fonctionnent pas. Par défaut, c'est:
http://my_site/magazine/post-title
mais il montre tous les articles du magazine comme url (et il a utilisé le modèle archive.php):
http://my_site/magazine/
Comment ajouter correctement des règles de réécriture pour des articles personnalisés uniques? Il est possible, je voudrais avoir des URL pour un seul message (uniquement pour les types de messages personnalisés choisis) dans ce format:
http://my_site/magazine/year/issue/post-title
10
c'est la priorité par défaut . Vous pouvez laisser les deux dans ce cas… ou essayez un nombre plus élevé. (2) Avez-vous vérifié les règles de réécriture résultantes? Assurez-vous également de vérifier l'ordre de ces règles au fur et à mesure qu'elles sont traitées dans leur ordre. Dump$GLOBALS['wp_rewrite']
. (3) Avez-vous ajoutéquery_vars
que cela pourrait entrer en conflit?