我正在研究WP functions.php中的重定向函数。
我的网站有woocommerce会员资格/订阅正在运行。
如果我编写一个常规的WP重定向,比如:
function login_redirect_user() {
return get_permalink(20);
}
add_filter('login_redirect', 'login_redirect_user');这将不适用于我的woocommerce会员。我需要使用'woocommerce_login_redirect‘而不是'login_redirect’吗?若然,为甚麽会这样呢?woocommerce的订阅者不也是wordpress的会员吗?
谢谢,我有点糊涂了!
CW
发布于 2020-07-07 05:06:32
是的,woocommerce单独处理登录,并使用不同的钩子。在Woocommerce中,登录是自定义的,在登录时重定向用户的行如下所示:
wp_redirect( wp_validate_redirect( apply_filters( 'woocommerce_login_redirect', remove_query_arg( 'wc_error', $redirect ), $user ), wc_get_page_permalink( 'myaccount' ) ) ); // phpcs:ignore这在class-wc-form-handler.php:1027中,这里没有使用标准login_redirect。因此,如果您不希望新登录登录到my-account页面,则可以使用该筛选器。
诚然,Woocommerce的客户仍然是WordPress的“用户”。但Woocommerce提供的前端登录表单完全独立于标准的WP登录操作,因此使用了不同的钩子。
https://stackoverflow.com/questions/62759557
复制相似问题