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