通过挂钩替换wp-login.php登录表单,并使用带有wp-登录表单验证的自定义表单

时间:2013-01-07 作者:Jason

我正在自定义所有wp登录。php表单,即登录、丢失密码、注册等。

我有一个工作模型,但当我解码在自定义表单上抛出默认错误消息时,我想一定有更好的方法来创建自定义表单,并且仍然使用wp登录。php来完成所有繁重的工作,以及为什么在wp登录时编写自定义表单验证。php做得足够好吗?

我正在构建一个插件。

这是我的工作解决方案:

1) 每个表单(登录、丢失通行证等)都是单独的。php文件。I表单的文件由get\\u header()和get\\u footer()包装

2) 每个表单的操作都是wp登录。php。因此,当我的自定义表单提交到wp登录时。php进行表单验证。

3) 为了使post valadation不会返回默认响应(来自wp admin.php的表单),我添加了一个wp\\u redirect()函数,用于转发我的自定义表单。

就像我说的那样,这是可行的,但现在我想在自定义表单中使用默认错误消息,但我不知道如何在自定义表单页面中显示错误消息。

可能的解决方案:1)wo登录。php使用开关根据表单验证选择要显示的表单。有没有一种方法可以让我加入其中,并让我的表单被调用?我可以使用wp登录。php来做一切。

2) 是否需要为页面上的错误消息包含全局变量?

3) 我尝试了复制wp登录。php和剥离了我不需要的主体、头部和函数。我有点工作,但不是真的。

仅供参考。。。。我不想使用我的登录主题作为解决方案。

1 个回复
SO网友:Austin Passy

您是否尝试创建错误?类似于:

function wpse_23982_admin_notices() {
    if ( isset( $_GET[\'extendd-message\'] ) && $_GET[\'extendd-message\'] == \'response_error\' ) {
        add_settings_error( \'extendd-notices\', \'extendd-remote-api-fail\', __( \'There was an error connecting to extendd.com/. Please try again at another time.\', \'extendd\' ), \'error\' );
    }

}
add_filter( \'registration_errors\', \'wpse_23982_admin_notices\' );
然后在出现错误时执行类似于wp\\u redirect with error的操作。

wp_url.com/?extendd-message=response_error

结束

相关推荐

我可以用什么替换‘.get_bloginfo(’url‘)。’用来返回当前URL而不是家庭地址?

我正在使用Any Mobile Theme Switcher 可在完整主题和移动主题之间自动切换的插件。唯一的问题是,“切换到移动站点”和“切换到完整站点”链接会将您带到主页,而不是当前页面。相关的代码位似乎是这样的:function show_theme_switch_link_func( $atts ){ $desktopSwitchLink = get_option(\'show_switch_link_for_desktop\'); glo