How to Get Various WooCommerce Page URLs

Shop URL
Get the WooCommerce Shop URL (this is the root category page) with the following:
$shop_page_url = get_permalink( woocommerce_get_page_id( 'shop' ) );
My Account URL
You can get the WooCommerce My Account URL by using the woocommerce_myaccount_page_id option:
$myaccount_page_id = get_option( 'woocommerce_myaccount_page_id' );
if ( $myaccount_page_id ) {
$myaccount_page_url = get_permalink( $myaccount_page_id );
}
Cart URL
The WooCommerce Cart URL can be retrieved with a call to the cart object’s get_cart_url() method:
global $woocommerce; $cart_url = $woocommerce->cart->get_cart_url();
Checkout URL
Similar to getting the cart URL, the WooCommerce Checkout URL can be retrieved with a call to the cart object’s get_checkout_url() method:
global $woocommerce; $checkout_url = $woocommerce->cart->get_checkout_url();
Payment Page URL
This is the payment page URL used to collect payment information after the checkout page by redirect/hosted payment gateways. The path typically looks like /checkout/pay/. Get this URL with the following:
$payment_page = get_permalink( woocommerce_get_page_id( 'pay' ) ); // make ssl if needed if ( get_option( 'woocommerce_force_ssl_checkout' ) == 'yes' ) $payment_page = str_replace( 'http:', 'https:', $payment_page );
Logout URL
This example will generate a WordPress logout URL that brings the user back to the Account area of the site:
$myaccount_page_id = get_option( 'woocommerce_myaccount_page_id' );
if ( $myaccount_page_id ) {
$logout_url = wp_logout_url( get_permalink( $myaccount_page_id ) );
if ( get_option( 'woocommerce_force_ssl_checkout' ) == 'yes' )
$logout_url = str_replace( 'http:', 'https:', $logout_url );
}
how to find track my order page url??
Hey rashed, good question. Actually I don’t think there’s a programmatic way of retrieving the url for the “track my order” page, just because it’s not one of the special WooCommerce pages, it’s handled by the shortcode
[woocommerce_order_tracking]so you can just go to your WordPress admin Pages area and find/create the page. Hope this helpsGood stuff!
Nice, Very useful. Thanks