wc_get_endpoint_url( string $endpoint, string $value = '', string $permalink = '' )
Get endpoint URL.
Description Description
Gets the URL for an endpoint, which varies depending on permalink settings.
Parameters Parameters
- $endpoint
-
(Required) Endpoint slug.
- $value
-
(Optional) Query param value.
Default value: ''
- $permalink
-
(Optional) Permalink.
Default value: ''
Return Return
(string)
Source Source
File: includes/wc-page-functions.php
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 ); }