我正在创建一个仅限批发会员的 woocommerce 网站。到目前为止,我已经设法通过使用我在堆栈交换中找到的这段代码为非登录用户创建重定向回我的帐户页面来锁定所有 woocommerce-
add_action( 'template_redirect', 'wc_redirect_non_logged_to_login_access');
function wc_redirect_non_logged_to_login_access() {
if ( !is_user_logged_in() && ( is_woocommerce() || is_shop() ||
is_cart() || is_checkout() ) ) {
wp_redirect( get_permalink(
get_option('woocommerce_myaccount_page_id')) );
exit();
}
}
它工作得很好,但我想使用我创建的自定义登录页面。www.example.com/customlogin - 我在哪里/如何将它插入到上面的代码中?我尝试过,但遇到了语法错误,并花了半天时间将其锁定在我的网站之外,哈哈。
接下来,我需要将自定义登录页面绑定到 woocommerce my-account 页面,以便我可以绕过 woocommerce 隐藏在同一页面上的代码中的默认登录。所以基本上如果一个“非登录用户”点击“我的帐户”链接,他们就会被带到自定义登录页面。这样我就可以分别编辑登录页面和我的帐户页面,当它们在同一页面上并且我的所有编辑效果同时进行时,我真的无法做到这一点。
谢谢。
您应该尝试下面的代码来解决您的两个要求:
add_action( 'template_redirect', 'wc_redirect_non_logged_to_login_access');
function wc_redirect_non_logged_to_login_access() {
if ( ! is_user_logged_in() && ( is_woocommerce() || is_shop() ||
is_cart() || is_checkout() || is_account_page() ) ) {
wp_redirect( home_url( '/customlogin' ) );
exit();
}
}
代码位于活动子主题(或主题)的 function.php 文件或任何插件文件中。
要将条件扩展到我的帐户页面,我使用了条件 WC 标记:对于重定向到您的自定义表单,我使用:
is_account_page()
wp_redirect( home_url( '/customlogin' ) );
此代码经过测试并有效
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句