Как получить данные из поста в WordPress при сохранении?

Как можно получить актуальные данные из создаваемого или обновляемого поста в WordPress, используя плагин ACF и функцию 'save_post'? В настоящий момент моя текущая реализация перехватывает данные до их перезаписи, то есть данные, которые уже сохранены в базе данных перед редактированием. Вот мой текущий код:

```php
function get_post_param( $post_id, $post, $update ){
	$file = 'wp-content/themes/storefront/php/test.txt';
	$current = file_get_contents($file);
	$current .= "ID: ".$post_id." Start: ".$post->nachalo_meropriyatiya."\n";
	file_put_contents($file, $current);
}
add_action( 'save_post', 'get_post_param', 10, 3 );
```

Как мне изменить этот код, чтобы получить актуальные данные?
  • 13 октября 2023 г. 16:38
Ответы на вопрос 2
Для получения актуальных данных из создаваемого или обновляемого поста в WordPress при использовании плагина ACF и функции 'save_post', вы можете использовать функцию ACF 'get_field', чтобы получить значения полей после их сохранения в базу данных. 

Вот обновленный код:

```php
function get_post_param( $post_id, $post, $update ){
    $file = 'wp-content/themes/storefront/php/test.txt';
    
    $nachalo_meropriyatiya = get_field('nachalo_meropriyatiya', $post_id); // получение значения поля 'nachalo_meropriyatiya'
    
    $current = file_get_contents($file);
    $current .= "ID: ".$post_id." Start: ".$nachalo_meropriyatiya."\n";
    file_put_contents($file, $current);
}
add_action( 'save_post', 'get_post_param', 10, 3 );
```

В этом коде мы используем функцию 'get_field', которая позволяет нам получить значение поля 'nachalo_meropriyatiya' из поста с идентификатором $post_id. Это значение будет актуальным, так как мы получаем его после сохранения в базе данных.

Теперь вы можете использовать переменную $nachalo_meropriyatiya для выполнения нужных вам операций с актуальными данными.
Используйте функцию `get_post($post_id)`, чтобы получить актуальные данные поста из базы данных. КЭП не применим в данном случае.
Похожие вопросы