REST API更新上的WordPress动作挂钩

时间:2019-02-28 12:12:45

标签: angularjs wordpress wordpress-rest-api action-hook

我制作了一个使用Wordpress REST API来获取数据的应用程序,用户可以操纵数据并从该应用程序添加自己的帖子。

该应用程序使用AngularJS编写,并使用http.post方法添加帖子,并使用http.put更新现有帖子。我们正在使用Pods插件制作的自定义帖子。

我试图找到一个动作钩子,只要用户向REST API发出http.post或http.put请求,该钩子就会触发。

到目前为止,我已经尝试过:

function on_all_status_transitions( $new_status, $old_status, $post ) {
  if ( $new_status != $old_status ) {
    // A function to perform actions any time any post changes status.
  }
}
add_action(  'transition_post_status',  'on_all_status_transitions', 10, 3 );

还有:add_action(save_post)

谢谢!

2 个答案:

答案 0 :(得分:0)

您是否尝试过rest_post_dispatch挂钩?

允许在返回之前修改响应:

https://developer.wordpress.org/reference/hooks/rest_post_dispatch/

答案 1 :(得分:0)

我解决了问题

结果是我应保存JSON文件的文件夹未正确设置,从而导致错误。我检查了错误日志,就在那儿看到了问题所在。

正确设置文件夹的路径后,使用动作钩子触发的功能就起作用了。

这是在更新帖子或使用http.post或http.put方法从应用程序添加新帖子时用来触发功能的挂钩:

add_action('pods_api_post_save_pod_item_your_pod_name', 'your_function', 10, 3);

我正在使用Pods插件自定义帖子,这是他们文档中的操作钩子。