发布POST时未调用post.php AJAX请求

时间:2021-05-24 作者:MattRogowski

我正在使用transition_post_status 处理正在发布的帖子。我在WordPress的两个安装之间发现了不一致的行为,我已经跟踪到了从post compose页面本身发出的AJAX调用。

以下是我在两次安装中将帖子从草稿转换为发布时提出的请求:

enter image description hereenter image description here

如您所见,对post的AJAX调用。在第二个示例中,没有生成php。事实证明$post 对象在内部处于不同的状态transition_post_status 通过post呼叫时挂断。php,这就是为什么我的代码只在第一次安装时起作用。

我需要理解的是,为什么我有两个WordPress安装,它们在发布帖子时似乎在做不同的事情。

这两个安装都运行5.7.2,除了我正在使用的1个插件之外,还有库存,这两个安装都是一样的。

有人能解释为什么在发布帖子时,两个不同的安装会触发不同的AJAX调用吗?

1 个回复
SO网友:MattRogowski

结果是/wp-admin/post.php 是因为在post compose页面上有自定义的元框。最初的XHR请求是发送给WP API以保存帖子,但随后会进行额外的XHR调用以处理元框。然后重新保存帖子,并调用transition_post_status 再次钩住。

当API首次保存帖子时,状态为draftpublish, 在第二次呼叫中,如果他们运行,它将从publishpublish - 这本身就有道理。

我的具体问题是,我调用了一些需要$post 全球化,这只是第二个XHR调用中的情况,当调用该代码的钩子运行两次时,会导致不一致的行为—一次是$post 是全球化的,而不是全球化。

相关推荐

Wp-admin直接转到404

最近,我有一个问题,所有的wp管理页面。我可以登录并查看仪表板,但每次我转到另一个管理页面时,我都会得到一个404。因此,在进行了一些搜索之后,我开始遵循一些提示。首先是查看htaccess文件。那里似乎没有什么不对劲的地方。存在htaccess。bk文件和正常htaccess。不确定bk是什么。我把两者都删除了,看看会发生什么,什么都没有。接下来,我更改了插件文件夹的名称。现在我无法访问wp admin中的任何内容,甚至无法登录。我再次将插件文件夹重命名为原始名称,但仍然一无所获。我有一个插件叫做;WP