J'utilise WooCommerce v3.2.6 et WordPress 4.9.1. J'ai ajouté un noeud final à la zone Mon compte WooCommerce (view-subscription
):
function my_custom_endpoints() {
add_rewrite_endpoint( 'view-subscription', EP_ROOT | EP_PAGES );
}
add_action( 'init', 'my_custom_endpoints' );
function my_custom_query_vars( $vars ) {
$vars[] = 'view-subscription';
return $vars;
}
add_filter( 'query_vars', 'my_custom_query_vars', 0 );
function view_subscription_endpoint_content() {
include get_template_directory().'/woocommerce/myaccount/view-subscription.php';
}
add_action( 'woocommerce_account_view-subscription_endpoint', 'view_subscription_endpoint_content' );
Le noeud final fonctionne, mais je souhaite pouvoir transmettre l'ID d'un abonnement (un type de publication) au noeud final (de la même manière que fonctionne l'ordre d'affichage). Comment puis-je faire ceci?
par exemple.
myaccount/view-order/21313 - Displays details of order #21313
myaccount/view-subscription/35464 - I want this to display the details of the subscription post #35464.
Si je vais à l'URL ci-dessus myaccount/view-subscription/35464
, le modèle view-subscription.php est toujours en cours de chargement, mais quel est le meilleur moyen d'accéder à l'ID 35464 à partir de l'URL?
J'espère que ce n'est pas trop tard, mais je sais que cela aidera quelqu'un d'autre.
echo get_query_var('your-endpoint');
Donc, pour votre code, ce sera:
echo get_query_var('view-subscription');