Обновление поля терминов таксономии при публикации нового сообщения в веб-интерфейсе - PullRequest
0 голосов
/ 01 марта 2019

У меня есть пользовательский тип сообщения venuevenue связана таксономия 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.

...