获取WooCommerce后台中设置选项的页面 URL


WooCommerce中,我们可以在后台设置中选择各个功能页面的页面,非常方便。那么在开发WooCommerce主题的时候,怎么获取这些页面的 URL 呢?今天我们为大家总结了以下几个WooCommerce常用页面 URL 的获取方法,以便大家在WooCommerce二次开发的时候查询使用。

商店 URL

使用下面的代码获取WooCommerce商店 URL (商店的总页面):

$shop_page_url = get_permalink( woocommerce_get_page_id( 'shop' ) );

我的账户 URL

使用下面的代码获取WooCommerce设置中“我的账户”的页面URL:

$myaccount_page_id = get_option( 'woocommerce_myaccount_page_id' );
if ( $myaccount_page_id ) {
  $myaccount_page_url = get_permalink( $myaccount_page_id );
}

购物车 URL

通过WooCommercecart对象的get_cart_url()方法获取购物车 URl:

global $woocommerce;
$cart_url = $woocommerce->cart->get_cart_url();

结账 URL

通过WooCommercecart对象的get_checkout_url()方法获取购物车 URl:

global $woocommerce;
$checkout_url = $woocommerce->cart->get_checkout_url();

支付页面 URL

支付页面用来收集用户信息,并跳转到支付网关,一般是“/checkout/pay/”这样的形式,通过下面代码获取支付页面URl

$payment_page = get_permalink( woocommerce_get_page_id( 'pay' ) );
// 判断是否需要转为SSL
if ( get_option( 'woocommerce_force_ssl_checkout' ) == 'yes' ) $payment_page = str_replace( 'http:', 'https:', $payment_page );

登出 URL

这个其实就是 WordPress 的登出页面,通过以下代码获取。

$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 );
}

获取了这些页面后 URL 后,直接在需要显示这些页面链接的地方使用就可以了,即使在后台修改了这些页面的 URL,前台的链接也会自动改变过来,避免了把链接写死在页面中出现的种种问题。在开发WooCommerce多语言站点的时候,也会避免因为写死链接导致链接不能翻译到相应语言的问题。

  • 分享:
评论
还没有评论
    发表评论 说点什么