你能解决这个问题吗?我也有同样的问题。据我所知,save\\u post触发后,该post/form的$\\u post数据就会被破坏。
fwiw,我正在考虑做的是进行验证,然后使用post\\u meta作为$\\u post的代理。换句话说,如果验证失败,请将我的表单数据写入某个post\\u meta。每当我显示该表单时,我总是首先检查“错误数据”。
对我来说,这感觉又脏又“黑”,但我也很确定它会起作用。毕竟,什么是$\\u POST,而不是数组。我不想把整个$\\u帖子都存储在POST\\u meta中,只想存储表单所需的内容。毕竟,这就是表单数据的最终目的。。。在post\\u meta中。
实际上,现在我想起来了,这可能只是将验证错误消息存储在post\\u meta中,并确保帖子不会发布,除非post\\u meta for error为空。换句话说!错误==确定发布。错误==不允许发布。
存储“坏数据”很好。WP似乎在处理存储方面做得很好:)真正的问题是错误的MSG和阻止发布带有“坏数据”的帖子。
你觉得怎么样?
仅供参考-至少对于自定义帖子类型和简单的ish表单,这种方法确实有效。(它可能适用于更健壮的东西,但我有点处于概念验证模式。)
我唯一需要解决的是,WP将显示“Post Published”(在页面顶部的黄色框中),即使我在验证方法遇到无法通过的问题时将Post\\u状态重新设置为draft。
我很确定有一种方法可以抑制这种情况,但我还没有对此进行研究。