WooCommerce我的帐户终结点-如何从URL获取ID参数?

时间:2018-01-24 作者:Sarah

我正在使用WooCommerce v3。2.6和WordPress 4.9.1。我已经向WooCommerce myaccount区域添加了一个端点(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\' );
端点正在工作,但我希望能够将订阅的ID(post类型)传递给端点(类似于查看顺序的工作方式)。我该怎么做?

例如:。

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.
如果我转到上面的URLmyaccount/view-subscription/35464 , 视图订阅。php模板仍在加载中,但从URL访问ID 35464的最佳方式是什么?

2 个回复
最合适的回答,由SO网友:Guhéry Rocourt 整理而成

我希望不会太晚,但无论如何,我知道这会帮助别人。

echo get_query_var(\'your-endpoint\');

因此,对于您的代码,它将是:

echo get_query_var(\'view-subscription\');

SO网友:Ankur Modi

请使用这个,它将帮助我按照同样的方式查看订单链接。

wc_get_endpoint_url()

例如:。

myaccount/view-order/21313 - 显示订单的详细信息#21313
myaccount/view-coupon/123 - 显示优惠券的详细信息#123

结束

相关推荐

Dynamic Endpoints

我在WordPress外部有一个数据库表,需要为其创建端点。我已经创建了一个页面/cars/ 我计划使用页面模板生成链接。我希望url看起来像/cars/camaro/ ()/cars/%model%/ ). 起初,我认为我可以使用端点,但不知道如何根据从模型表中提取的段塞使它们动态。我也不确定使用Permalink结构标签是更容易还是更好。我甚至不完全确定从哪里开始,我以前创建过“静态”端点,所以我有一个基础可以跳出,但当我到达request 我不知道该怎么办。/** * Add endpoi