Mr.*_* Jo 5 php account wordpress endpoint woocommerce
我目前正在尝试在 WordPress AJAX 调用函数中使用此函数获取端点的链接:
wc_get_endpoint_url( 'einstellungen' )
Run Code Online (Sandbox Code Playgroud)
当我在 WooCommerce 页面中执行此操作时,我得到以下格式的正确链接:
www.page.com/account/einstellungen
Run Code Online (Sandbox Code Playgroud)
在我的 AJAX 函数中,URL 以这种方式返回:
www.page.com/einstellungen
Run Code Online (Sandbox Code Playgroud)
所以看来帐户子页面丢失了。有什么想法吗?
页面路径根据您使用的位置而变化wc_get_endpoint_url( $endpoint ),因此在 WordPress ajax 中挂钩的后端函数中wp_ajax_{$action} and/or wp_ajax_nopriv_{$action} you will always get the home url path + the endpoint slug\xe2\x80\xa6
相反,你有两种方法:
\n\n1)功能wc_get_account_endpoint_url( $endpoint ) that will work nicely:
echo wc_get_account_endpoint_url( \'einstellungen\' );\nRun Code Online (Sandbox Code Playgroud)\n\n2)或者你也可以使用wc_get_endpoint_url( $endpoint, \'\', $permalink ), where $permalink (第三个参数) will be like:
echo wc_get_endpoint_url( \'einstellungen\', \'\', get_permalink( get_option(\'woocommerce_myaccount_page_id\') ) );\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n所以现在如你所见
\n\nwc_get_endpoint_url()function has 3 available arguments:Run Code Online (Sandbox Code Playgroud)\n/**\n * Get endpoint URL.\n *\n * Gets the URL for an endpoint, which varies depending on permalink settings.\n *\n * @param string $endpoint Endpoint slug.\n * @param string $value Query param value.\n * @param string $permalink Permalink.\n *\n * @return string\n */\nfunction wc_get_endpoint_url( $endpoint, $value = \'\', $permalink = \'\' ) {\n