wc_get_endpoint_url()
Get endpoint URL.
Gets the URL for an endpoint, which varies depending on permalink settings.
Hooks from the function
Returns
String.
Usage
wc_get_endpoint_url( $endpoint, $value, $permalink );
- $endpoint(string) (required)
- Endpoint slug.
- $value(string)
- Query param value.
Default:'' - $permalink(string)
- Permalink.
Default:''
wc_get_endpoint_url() wc get endpoint url code WC 10.5.0
function wc_get_endpoint_url( $endpoint, $value = '', $permalink = '' ) {
if ( ! $permalink ) {
$permalink = get_permalink();
}
// Map endpoint to options.
$query_vars = WC()->query->get_query_vars();
$endpoint = ! empty( $query_vars[ $endpoint ] ) ? $query_vars[ $endpoint ] : $endpoint;
$value = ( get_option( 'woocommerce_myaccount_edit_address_endpoint', 'edit-address' ) === $endpoint ) ? wc_edit_address_i18n( $value ) : $value;
if ( get_option( 'permalink_structure' ) ) {
if ( strstr( $permalink, '?' ) ) {
$query_string = '?' . wp_parse_url( $permalink, PHP_URL_QUERY );
$permalink = current( explode( '?', $permalink ) );
} else {
$query_string = '';
}
$url = trailingslashit( $permalink );
if ( $value ) {
$url .= trailingslashit( $endpoint ) . user_trailingslashit( $value );
} else {
$url .= user_trailingslashit( $endpoint );
}
$url .= $query_string;
} else {
$url = add_query_arg( $endpoint, $value, $permalink );
}
return apply_filters( 'woocommerce_get_endpoint_url', $url, $endpoint, $value, $permalink );
}