WordPress插件设置的帖子

时间:2011-05-25 作者:faulty

我为Wordpress开发了一些插件。目前,我无法复制wp保存设置的方式。我有一个从教程中学到的设置页。It发布到option.php, 和wp负责保存数据。

但我有一些自定义选项页面,需要更复杂的处理。基本上,我想将一些数据发布到自己的php中,然后在处理后重定向回原始页面/url。我找不到正确重定向的“正确”方法,即不加载整个页面,然后使用javascript重定向。

目前我使用GET withadd_query_arg(), url将显示我传递的数据。刷新时,使用POST将触发重定向提示。

是否有内置的wp功能可以自动执行?或者如果我要发布到option.php, 在没有自动处理数据的情况下,我应该如何访问数据?

编辑:其中一个复杂页面的示例如下:

我为一些用户分配了一个usermeta,我们称之为SU(SpecialUser)。为了简化管理工作,我有一个页面来显示用户列表,其中有一列显示他们是否是SU。每行该列中的文本是一个链接,如果单击该链接,将切换该用户的SU状态。目前,我使用GET传递用户的id以及要执行的操作。然后页面本身将检测到,如果操作和id都有效,则切换用户的状态。同时,将显示更新的结果。GET查询保留在URL上

我真正想做的是使用POST,将id和操作传递到同一个页面,然后切换状态但不显示任何内容,然后“重定向”回显示更新的用户列表的页面。在实现这一点之前,我尝试过使用javascript重定向页面,但这意味着必须先加载整个页面,然后才能执行javascript。这对资源不友好。我希望它能像设置API那样工作。

对不起,解释得太长了。我肯定我想做的事情有一个术语,但我不确定它是什么。

谢谢

编辑:当你激活/停用插件时,它或多或少像插件页面。插件页正在使用GET。我的问题实际上是重定向,所以GET或POST应该无关紧要。

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

我找到了一种方法,通过使用wp_redirect(). 我在打电话wp_redirect() 在我完成处理之后。还应遵循以下建议:WordPress and wp_redirect() function problem, 我补充道noheader=true 到表单的操作或链接,以防止php出现错误“header ready sent”。

SO网友:Bainternet

如果您正在使用Settings API 然后,您可以在register_setting 并在执行“更复杂的处理”后返回要保存的值。

结束

相关推荐

Wp_Options中的临时RSS提要没有自动删除吗?

我刚刚注意到55000个条目(!)在我的wp\\U选项表中。我有一阵子没去那里了。所以我跑了:delete from `wp_options` where `option_name` like \'_transient_timeout_rss%\' delete from `wp_options` where `option_name` like \'_transient_rss_%\' 还有。。。现在返回到645个条目。。。既然transient似乎是永恒的,我怎么能自动删除这些旧的R