我的functions.php
像这样归档
if (\'POST\' == $_SERVER[\'REQUEST_METHOD\'] && !empty($_POST[\'action\']) && $_POST[\'action\'] == \'registration\') {
$error = new WP_Error();
if (empty(esc_attr($_POST[\'email\'])))
{
$error->add(\'regerror\',\'Email is required.\');
}
if (!is_email(esc_attr($_POST[\'email\'])))
{
$error->add(\'regerror\',\'Invalid email format.\');
}
if (email_exists(esc_attr($_POST[\'email\'])))
{
$error->add(\'regerror\',\'Email already in use. Did you forget your Password? If yes click here to reset.\');
}
}
现在有人能告诉我如何在我的
register page
?
更新:
我的注册页面有如下代码
<form method="post" action="<?php the_permalink(); ?>">
<!-- form fields goes here -->
<input name="action" type="hidden" value="registration" />
<input type="submit" id="submit" value="Register">
</form>
最合适的回答,由SO网友:s_ha_dum 整理而成
有了它functions.php
你可能需要申报$error
未来global
像这样:
if (\'POST\' == $_SERVER[\'REQUEST_METHOD\'] && !empty($_POST[\'action\']) && $_POST[\'action\'] == \'registration\') {
global $error;
$error = new WP_Error();
// the rest of your code
然后做
global $error;
在尝试使用之前,请在注册页面上再次显示。
但我不明白你为什么要把代码放进去functions.php
. 对我来说,这似乎是个糟糕的设计。你正在运行if
有条件每次加载任何页面时,听起来您只需要在注册页面上使用它,我假设这是您自己编写的内容,而不是在wp-login.php
.基于这种假设,只需将代码移动到注册页面,就可以轻松使用。WP_Error
has methods will let you get at the data.