WooCommerce 获取端点 url 未正确返回

我目前正在尝试在 WordPress AJAX 调用的函数中使用此函数获取端点的链接:

wc_get_endpoint_url( 'einstellungen' )

当我在 WooCommerce 页面中执行此操作时,我获得了以下格式的正确链接:

www.page.com/account/einstellungen

在我的 AJAX 函数中,URL 以这种方式返回:

www.page.com/einstellungen

所以似乎缺少帐户子页面。任何想法为什么?


慕斯王
浏览 144回答 1
1回答

慕容708150

页面路径根据您使用的位置而变化wc_get_endpoint_url( $endpoint ),因此在 WordPress ajax 中挂钩的后端函数中wp_ajax_{$action}和/或wp_ajax_nopriv_{$action}您将始终获得主页 url 路径 + 端点 slug…相反,您有两种方法:1)wc_get_account_endpoint_url( $endpoint )可以很好地工作的功能:echo wc_get_account_endpoint_url( 'einstellungen' );2)或者你也可以使用wc_get_endpoint_url( $endpoint, '', $permalink ),其中$permalink (第三个参数)将是这样的:echo wc_get_endpoint_url( 'einstellungen', '', get_permalink( get_option('woocommerce_myaccount_page_id') ) );所以现在你可以看到wc_get_endpoint_url()函数有 3 个可用参数:/** * Get endpoint URL. * * Gets the URL for an endpoint, which varies depending on permalink settings. * * @param  string $endpoint  Endpoint slug. * @param  string $value     Query param value. * @param  string $permalink Permalink. * * @return string */function wc_get_endpoint_url( $endpoint, $value = '', $permalink = '' ) {
打开App,查看更多内容
随时随地看视频慕课网APP