Отдельные действия для создания и обновления постов - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь отправить HTTP-запросы, когда POST создается, обновляется или удаляется.Я смог сделать это с таксономиями, используя следующие действия:

  • create_taxonomy
  • edited_taxonomy
  • delete_taxonomy

Я борюсь снайти способ обрабатывать эти операции как чисто для сообщений.Мне нужны операции:

  • создать -> отправить запрос HTTP HTTP
  • изменить -> отправить запрос 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.Любые советы по аккуратной обработке пост-созданий и обновлений?

...