处理挂接到ADMIN_POST的数据的结果

时间:2015-01-03 作者:member8888

我正在编写一个插件,它使用一个表单将一些数据传递给自己。

有没有什么方法可以做到这一点“WordPress方式”?

示例表单代码(在“工具”下添加的自定义子菜单页上):

<form action="<?php echo get_admin_url() . \'admin-post.php\'; ?>" method="post">
    <input name="some_input" type="text">
    <input name="other_input" type="text">
</form>
然后在插件的逻辑方面:

function my_process_form_data() {
    // Process the form data here and return the results
}
add_action( \'admin_post\', \'my_process_form_data\' );
现在,我已经处理了表单并获得了结果数据(存储为一个较大的数组),将该数据返回到我创建的自定义子菜单页的最佳方式是什么?

我知道有几种选择:

我可以直接发布到页面,而不是发布到“admin post.php”。但这会导致一些混乱的代码和条件(即,如果是结果,请加载此,否则请加载此。理想情况下,模板和逻辑应保持独立。

  • 使用wp\\u重定向并将数据存储在其重定向到的URL中。但我有大量数据要返回给最终用户,因此这并不是一个真正的选项。
  • 通过瞬态或选项,将数据序列化并临时存储在数据库中,在一旦用户看到数据库,它就会被删除。但这感觉很“黑”
  • 有什么建议可以让这个大数组的数据返回到我的自定义子菜单页面“WordPress方式”吗?

    1 个回复
    SO网友:luukvhoudt

    WordPress的方法是不使用admin_post 别客气。由于这个问题不久前被悄悄地问到,我想知道当时是否有这种选择。

    无论如何你应该create a custom settings page. 看看链接帖子中的完整示例。您必须为每个字段创建回调。

    结束

    相关推荐

    My posts show 2 comment forms

    我们有一个Wordpress网站,lifering.org, 在戈达迪主持。我们最近升级了虚拟服务器的Linux操作系统,这涉及到从备份重建站点。现在,我们的单篇帖子显示了两个评论回复表单。我相信我们之前每个帖子只有一个评论回复表。我不知道这是怎么发生的-我自己做了备份-或者如何修复它。