@Mixa

Как пересохранить все посты Wordpress одним махом?

Есть поле, созданное с помощью Advanced custom fields, которое содержит адрес. Вообще, в нормальной ситуации это поле делает геокодинг и при ручной вставке записывает еще в себя через массив координаты, полученные из адреса.

Но поскольку наполенние полей происходило через массовый испорт, то этого не произошло и поле не провело геокодирование.

Если просто открыть пост и сохранить, ничего руками не меняя, то поле геокодиреутся и все становится как надо. Но руками пересохранить 800 записей - анриал. И вот вопрос, можно ли как то эмулировать редактирование записей человеком и прогнать все посты таким образом?
  • Вопрос задан
  • 1222 просмотра
Пригласить эксперта
Ответы на вопрос 2
@zRrr
Что-то в этом духе:
<?php $all = new WP_Query(array('post_type'=>'post')); 
if($all->have_posts()) {
while($all->have_posts()){
$all->the_post();
wp_update_post($post);
}
}
?>

Про wp_update_post()
Ответ написан
@templatelab
В случае ACF можно гораздо проще все сделать, обновить именно нужное поле. Добавляем данную функцию в запись и после захода на страницу, поле сразу обновится.

// Получаем текущее значение поля.
$date = get_post_meta($post->ID, 'date', true);
// Обновим значение специальной функцией acf.
update_field('date', $date);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы