用于创建和更新帖子的单独操作

时间:2019-01-30 19:06:51

标签: wordpress wordpress-rest-api

我正在尝试在创建,更新或删除POST时发送HTTP请求。我可以通过以下操作使用分类法进行此操作:

  • create_taxonomy
  • edited_taxonomy
  • delete_taxonomy

我正在努力寻找一种处理这些操作的方法,就像处理帖子一样。我需要进行以下操作:

  • 创建->发送发布HTTP请求
  • 编辑->发送放置的HTTP请求
  • 删除->发送删除HTTP请求

    function example_task_save( $post_ID, $post, $update ): void {
      // we only care about published tasks
      if ($post->post_type == 'example' && $post->post_status == 'publish') {
          $baseUrl = 'fake.url';
          $body = json_encode( formatTask( $post_ID ) );
    
          // determines if $post is updated or new
          if ( sizeof ( wp_get_post_revisions( $post ) )  > 1 ) {
              $url = $baseUrl . '/' . $post_ID;
              httpRequest( 'PUT', $url, $body );
          } else {
              httpRequest( 'POST', $baseUrl, $body );
          }
      }
    }
    
    add_action( 'save_post', 'example_task_save', 10, 3 );
    

我试图使用save_post来处理创建和编辑,但这不太干净,如果可能的话,我宁愿将这些操作(创建/编辑)分开。为了确定帖子是否存在,我一直在检查修订,这导致未处理的帖子触发PUT而不是POST。干净地处理帖子创建和更新的任何技巧吗?

0 个答案:

没有答案