Путь к странице меняется в зависимости от того, где вы используете wc_get_endpoint_url( $endpoint )
, поэтому в бэкэнд-функции, подключенной к WordPress ajax wp_ajax_{$action}
и / или wp_ajax_nopriv_{$action}
, вы всегда получите домашний URL-путь + слаг конечной точки…
Вместо этого у вас есть 2 способа:
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 = '' ) {