Woocommerce:提交丢失密码后重定向

Woocommerce: Redirect after lost password submitted

我尝试在成功提交丢失密码表单后将我的用户重定向到自定义页面。默认情况下,用户被重定向到 "my-account" 页面。

负责执行此重定向的方法称为 process_lost_password(),位于 plugins/woocommerce/includes/class-wc-form-handler.php 如下所示:

/**
 * Handle lost password form.
 */
public static function process_lost_password() {
    if ( isset( $_POST['wc_reset_password'] ) && isset( $_POST['user_login'] ) && isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'lost_password' ) ) {
        $success = WC_Shortcode_My_Account::retrieve_password();

        // If successful, redirect to my account with query arg set.
        if ( $success ) {
            wp_redirect( add_query_arg( 'reset-link-sent', 'true', wc_get_account_endpoint_url( 'lost-password' ) ) );
            exit;
        }
    }
}

遗憾的是,此方法不提供任何挂钩操作。

有没有办法覆盖此方法或以任何其他方式更改重定向 link?

因为 process_lost_password() 是 运行 作为一个 'wp_load' 动作

add_action( 'wp_loaded', array( __CLASS__, 'process_lost_password' ), 20 );

您只需添加您自己的具有更高优先级的操作

add_action( 'wp_loaded', 'your_handler', 19 );

我通过下面的方式解决了这个问题 WooCommerce 电子邮件**** 将您的电子邮件一直放在框中,直到底部显示发件人地址因为我是管理员并删除管理员电子邮件地址。

我做了几个虚拟帐户,现在一切正常,所有密码都可以正常工作。

我创建了一个页面,将终点添加到 /lost-password/ 作为我的永久链接。检查自定义 header 并检查页面中间的标题框并发布页面。这解决了我的问题。