Как обновлять ACF поле у ревизии поста?
-
Добрый день, мне очень нужна помощь,сделал версию у поста через плагин ACF, и если пост обновлять через админку wrodpress, то все обновляется (значение обновляется у поста и в ривизию поста уходит предыдущая версия поста), для повышения версии использую action
add_action( 'save_post', 'update_after_acf_version', 10, 2 ); function update_after_acf_version( $post_ID, $post ) { if( 'draft' != $post->post_status ){ if( get_field('field_5f048595367db') == 0){ update_field('field_5f048595367db', 0.1); } else { // получаем текущее значение поля $count = get_field('field_5f048595367db'); // увеличиваем $count = $count + 0.1; // обновляем update_field('field_5f048595367db', $count); } } }
Но проблема в том что мне нужно обновлять пост с фронта используя для этого REST API отправляя POST запрос http://localhost/wp-json/wp/v2/posts/<ID>
с такими данными, переменная js ver увеличивается на 0.1 и подставляется:
'title': 'title', 'content': 'content', 'status': 'publish', 'fields': { 'version': ver, },
после чего в основном посте версия правильная (та которая была в запросе), а вот в ревизии поста у поля version значение — false
для того чтобы отобразить поле ACF version у ревизии поста, я сделал фильтр:
add_filter( 'rest_prepare_revision', function( $response, $post ) { $data = $response->get_data(); $data['acf'] = get_fields( $post->ID ); return rest_ensure_response( $data ); }, 10, 2 );
подскажите пожалуйста как мне это реализовать?
- Тема «Как обновлять ACF поле у ревизии поста?» закрыта для новых ответов.