WordPress插件php文件处理表单

时间:2019-03-13 作者:alpha.romeo

我试图分析一个插件操作,有时我们会填写一个要处理的表单,但我不知道表单是由谁处理的,因为我有这种html表单,所以我想知道如何知道处理真正我的表单的最终php文件。

  <form method="post" action="<?php echo esc_url( admin_url( \'admin- 
      post.php\' ) ); ?>">
        <input type="hidden" name="action" value="check_imported">
        <input type="hidden" name="importer" value="<?php echo esc_attr( 
        $uid ); ?>">
        <?php wp_nonce_field( \'check_imported\', \'check_imported\', false ); 
          ?>
        <table class="import">
谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:tmdesigned 整理而成

表单操作是处理表单的文件,您可以看到的是管理帖子。WordPress安装中的php文件。

然而,您真正需要的是处理表单的钩子。

基本上,表单是提交给管理员的。php,然后使用表单中的“action”值来确定要触发的钩子;换句话说,运行什么代码。这是一种常见的WordPress范式。

钩子名称以以下格式生成:

admin_post_{{action}} 对于登录用户,以及admin_post_nopriv_{{action}} 对于未登录的用户

在您的情况下,操作设置为“check\\u imported”。因此,如果您试图找到已经在处理这些问题的代码,请在主题/插件中搜索“admin\\u post\\u check\\u imported”和/或“admin\\u post\\u nopriv\\u check\\u imported”。

它们将编写为add\\u操作调用,将挂钩名称连接到其他函数,如:

add_action( \'admin_post_check_imported\', \'some_function_name\');

因此,您将查找名为“some\\u function\\u name”的函数作为实际代码。

相关推荐

Storing user submitted forms

我想知道创建一个只有注册用户才能看到的表单的最佳方法是什么。我想在这里实现的主要想法是让用户登录并访问一个页面,其中有一个可以多次提交的申请表。每个表单将存储在数据库中并与用户关联。它还可以选择将文件附加到系统。在WP仪表板中,管理员可以浏览系统中的所有用户,并查看他们提交的所有应用程序。是否最好在仪表板中创建一个自定义选项卡并显示每个用户?表单数据是否会被分类为每个用户的元数据?我对如何开发这个有点困惑,如果有任何建议,我将不胜感激。