Selon la réponse fournie dans Comment créer des itinéraires d'URL personnalisés? J'ai créé la règle de réécriture à l'aide de la même fonction fournie.
add_action( 'init', 'wpse26388_rewrites_init' );
function wpse26388_rewrites_init(){
add_rewrite_rule(
'gallery/([0-9]+)/?$',
'gallery?custom_gallery_id=$1',
'top' );
}
Après le vidage du fichier de règles, .htaccess
avait la règle suivante:
RewriteRule ^gallery/([^/]+)/?$ /wordpress/gallery?custom_gallery_id=$1 [QSA,L]
jusqu'à ce point tout allait bien alors j'ai essayé de faire quelques modifications dans la règle comme
add_action( 'init', 'wpse26388_rewrites_init' );
function wpse26388_rewrites_init(){
add_rewrite_rule(
'topic/([^/]+)/([^/]+)/gallery/([0-9]+)/?$',
'gallery?custom_gallery_id=$3',
'top' );
}
cela ne semble pas fonctionner du tout. quelqu'un peut-il m'aider pour cela? Merci d'avance.
tout d'abord, vous devez ajouter votre custom_gallery_id
pour interroger vars si vous n'avez pas déjà:
add_filter( 'query_vars', 'wpse26388_query_vars' );
function wpse26388_query_vars( $query_vars ){
$query_vars[] = 'custom_gallery_id';
return $query_vars;
}
pour votre règle de réécriture, vous devez charger un objet WordPress - une page, une catégorie, etc., ainsi que toutes les réécritures internes pointez sur index.php. si sujet, lieu et nouveau delhi sont toutes des pages, cela ressemblerait à ceci:
function wpse26388_rewrites_init(){
add_rewrite_rule(
'topic/([^/]+)/([^/]+)/gallery/([0-9]+)/?$',
'index.php?pagename=topic/$matches[1]/$matches[2]&custom_gallery_id=$matches[3]',
'top' );
}
essayez également ce plugin pour analyser et tester vos règles de réécriture.