J'ai déjà ajouté un nouveau terminal sur la page de mon compte, "mon-compte/mon-nouveau-terminal".
Je voudrais ajouter un point de terminaison de sous-page comme "mon-compte/mon-nouveau-point de terminaison/nouveau-sous-point de terminaison"
Je ne trouve aucune information sur la manière de le faire.
Je spécifie les points d'extrémité comme suit:
$endpoint = 'my-new-endpoint';
$endpointsub = 'my-new-endpoint/new-subendpoint';
Cela ne fonctionne pas, il charge le contenu du premier point de terminaison.
Si je le change en $endpointsub = 'new-subendpoint';
cela fonctionne mais l'url devient "mon-compte/nouveau-sous-point"
Existe-t-il un moyen spécifique de créer un point de terminaison page/sous-page tel que: "mon-compte/mon-nouveau-noeud final/nouveau-sous-noeud final"?
Je vous remercie.
MODIFIER:
C'est la fonction add endpoint:
function add_endpoints() {
add_rewrite_endpoint( self::$endpoint, EP_ROOT | EP_PAGES );
add_rewrite_endpoint( self::$endpointsub, EP_ROOT | EP_PAGES );
}
Grâce à @mmm et à son commentaire définissant $ endpointsub avant $ endpoint, cela a fonctionné. Je ne sais pas pourquoi c'est mais cela l'a résolu.
Alors changez l'ordre des points finaux:
$endpointsub = 'my-new-endpoint/new-subendpoint';
$endpoint = 'my-new-endpoint';
add_rewrite_endpoint( self::$endpointsub, EP_ROOT | EP_PAGES );
add_rewrite_endpoint( self::$endpoint, EP_ROOT | EP_PAGES );
add_query_vars( $vars ) {
$vars[] = self::$endpointsub;
$vars[] = self::$endpoint;
return $vars;
}