Я возился с WordPress REST API, создал свою собственную конечную точку и получил именно те данные, которые мне нужны. По сути, я создал конечную точку для получения всех своих записей / pages / acf. Вместо вызова API при каждой загрузке страницы, я просто хотел вызвать API один раз во время моего предварительного загрузчика.
Однако, когда я вызываю API, запускается вся логика, которая затем вызывает время загрузки от 1 до 2 секунд. Есть ли вероятность, что всякий раз, когда я делаю обновление в WordPress, он вызывает мою конечную точку и записывает файл JSON на сервер, например data.json? Таким образом, когда я загружаю свой сайт, он может вызывать этот data.json без каких-либо задержек.
Я не уверен, если это возможно, но хотел попробовать здесь.
Вы должны быть в состоянии сделать что-то в этом направлении. Проверьте код ниже:
function export_posts_in_json () {
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
);
$query = new WP_Query( $args );
...
$data = json_encode($posts);
$folder = 'YOUR_EXPORT_PATH_HERE';
$file_name = date('Y-m-d') . '.json';
file_put_contents($folder.$file_name, $data);
}
add_action( 'save_post', 'export_posts_in_json' );
Это должно сохранять файл json каждый раз, когда создается сообщение. Я уверен, что вы можете изменить его, чтобы экспортировать все данные, необходимые для вашего сайта.
Других решений пока нет …