webentwicklung-frage-antwort-db.com.de

Woocommerce My Account Endpoint - Wie erhalte ich ID-Parameter von URL?

Ich verwende WooCommerce v3.2.6 und WordPress 4.9.1. Ich habe dem myaccount-Bereich von WooCommerce einen Endpunkt hinzugefügt (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' );

Der Endpunkt funktioniert, aber ich möchte in der Lage sein, die ID eines Abonnements (einen Beitragstyp) an den Endpunkt zu übergeben (ähnlich wie die Ansichtsreihenfolge funktioniert). Wie kann ich das machen?

z.B.

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.

Wenn ich zur obigen URL myaccount/view-subscription/35464 gehe, wird die Vorlage view-subscription.php noch geladen. Wie kann ich jedoch über die URL am besten auf die ID 35464 zugreifen?

3
Sarah

Ich hoffe, es ist nicht zu spät, aber ich weiß, dass es jemand anderem helfen wird.

echo get_query_var('your-endpoint');

Für Ihren Code ist es also:

echo get_query_var('view-subscription');

2
Guhéry Rocourt