У меня есть пользовательский тип сообщения venue
.С venue
связана таксономия country
.В таксономии country
есть настраиваемое поле с именем total_live_venues
.
. На внешнем интерфейсе сайта у меня есть acf_form
для создания новых мест.Это отлично работает.Тем не менее, при попытке обновить поле total_live_venues
(количество всех действующих мест), когда на внешнем интерфейсе представлено новое место, в поле ничего не сохраняется.
Есть идеи, что я делаю неправильно?
Вот моя функция:
function my_pre_save_post( $post_id ) {
// check if this is to be a new post
if( $post_id != 'new' ) {
return $post_id;
}
// the associated country (taxonomy term)
$country_id = 'country_' . get_the_terms( $post_id, 'country')[0]->term_id;
// the country's 'total_live_venues' count
$total_live_venues = get_field('field_5c788ae1ec24a', $country_id);
// increase the count by 1 when a new post is created on the frontend
update_field('field_5c788ae1ec24a', $total_live_venues+1, $country_id);
// return the new ID
return $post_id;
}
add_filter('acf/pre_save_post' , 'my_pre_save_post', 10, 1 );
Для тех, кто интересуется, почему я не просто использую счетчик сообщений по умолчанию для счетчика, это потому, что в местах проведения есть поле discontinued
, котороеможет быть установлено в true или false из бэкэнда и уменьшает количество на 1.