Поддержка Проблемы и решения Как обновлять 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&gt;

    с такими данными, переменная 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 );
    

    подскажите пожалуйста как мне это реализовать?

Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Как обновлять ACF поле у ревизии поста?» закрыта для новых ответов.