在WordPress管理面板中捕获表单提交

时间:2020-02-12 作者:Foysal

我正在学习WordPress插件开发。我正在管理面板中提交表单。我的表单代码如下

<form method="post" action="<?php echo admin_url( \'admin-post.php?action=my_action\' ); ?>" name="newAddress" id="createuser" class="validate" novalidate="novalidate">
我正在捕获表单提交index.php 文件使用以下代码。

add_action(\'admin_post_my_action\', \'my_callback_fn\');

function my_callback_fn() {
    echo \'hello\';
}
我需要下面这样的表单验证消息

enter image description here

在显示表单验证消息后,我需要保留表单字段的值,如下所示。

enter image description here

我该怎么做?

一些开发人员建议我使用admin\\u init hook。但是如何使用它呢?

1 个回复
SO网友:Vitauts Stočka

您可以在会话或瞬态中存储字段值和错误消息,并在(重新)显示表单时使用它们。

在回调操作中,如果数据无效,请保存错误消息和提交的字段值。在里面admin_notices 钩子检查保存的错误消息。如果有,则将其显示为错误通知。不要忘记删除保存的会话/临时值。

在form builder code check session/transient中检查保存的字段值,如果存在这样的值,请在中使用它们value="..." 或根据需要。

This 可能会有帮助。

相关推荐

403禁止-您无权访问此服务器上的/wp-admin/admin-ajax.php

当我尝试通过插件备份wordpress网站时,我收到以下错误:“403禁止-您没有在此服务器上访问/wp admin/admin-ajax.php的权限。”在插件安装过程中,有时也会出现此错误。我的htaccess文件:# Begin Wordpress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteCond %