WordPress : Comment afficher les articles en lien hypertexte avec des slugs imbriqués ?
Question importante
Comment créer des limaces imbriquées comme celle-ci —
127.0.0.1/wordpress/displaypage/family1/members/
127.0.0.1/wordpress/displaypage/family2/members/
Ici – la page d’affichage du slug est la page slug, et family1 et family2 sont le nom des groupes que j’ai stockés dans mon tableau personnalisé.
membres est l’onglet qui affiche le nombre d’utilisateurs dans chaque groupe Veuillez répondre à cette question
Solution n°1 trouvée
Ceci peut être réalisé en ajoutant des règles de réécriture.
Tout d’abord, ajoutez les variables de requête qui stockeront les valeurs personnalisées dans nos règles :
function wpd_family_query_var( $query_vars ) {
$query_vars[] = 'wpd_family';
$query_vars[] = 'wpd_members';
return $query_vars;
}
add_filter( 'query_vars', 'wpd_family_query_var' );
Ensuite, ajoutez les règles pour capturer à la fois les requêtes displaypage/family/
et :displaypage/family/members/
function wpd_add_family_rewrite_rules() {
add_rewrite_rule(
'displaypage/([^/]+)/?$',
'index.php?pagename=displaypage&wpd_family=$matches[1]',
'top'
);
add_rewrite_rule(
'displaypage/([^/]+)/members/?$',
'index.php?pagename=displaypage&wpd_family=$matches[1]&wpd_members=true',
'top'
);
}
add_action( 'init', 'wpd_add_family_rewrite_rules' );
N’oubliez pas que vous devez vider les règles de réécriture après les avoir modifiées.
Vous pourrez alors accéder aux valeurs de vos variables de requête n’importe où après l’ parse_query
action avec get_query_var()
:
if( $family = get_query_var( 'wpd_family' ) ){
echo 'family: ' . $family;
}
if( $members = get_query_var( 'wpd_members' ) ){
echo 'members: ' . $members;
}
0 commentaire