Программно добавить значение в настраиваемое поле на основе настраиваемого поля - PullRequest
0 голосов
/ 16 октября 2019

У меня есть пользовательский тип записи с именем "Products", и у меня есть таксономия с именем "Price range" и пользовательское поле с именем "product-number".

В ценовом диапазоне у меня есть термин, называемый "250 kr", "450kr", "580kr" and so on.

. Мне нужно иметь способ добавлять данные в настраиваемое поле в зависимости от того, к какому термину они относятся.

Пример того, что я хочу:

Для всех продуктов в термине таксономии "250 kr" необходимо добавить 200-"unique-number" в пользовательское поле "product-number", созданное из плагина Advanced Custom Fields.

So 200-1, 200-2, 200-3 etc. and in the 450 i need 400-1, 400-2 and so on.

Мне нужно это сделать для всех ранее созданных продуктов, а также при создании новых. Поэтому при создании нового продукта необходимо посмотреть, в какой таксономии он находится, а затем, каким был предыдущий «номер продукта».

Так что, если последний продукт создан в термине "250 kr" и имеетномер продукта 200-68 следующий продукт, который я создаю, должен автоматически получить 200-69 в пользовательском поле "product number".

Я видел автоматическое нарушение в ACF:

https://support.advancedcustomfields.com/forums/topic/need-help-for-auto-increment-field-with-update_field/

Я пытался добавить это с некоторыми терминами, но не работает.

add_option('ebo_dernier_num_club','3005','','no');
function ebo_renseigne_num_affiliation($value, $post_id, $field) {
    if (! $value && get_post_type($post_id)=='club_type') {
        $last_num = (int) get_option('ebo_dernier_num_club', '3000');
        $last_num++;
        update_option('ebo_dernier_num_club', $last_num);
        $value = $last_num;
    }
    return $value;
}
add_filter('acf/update_value/name=numero_affiliation', 'ebo_renseigne_num_affiliation', 10, 3);

Я ожидаю автоматического увеличения на основе термина таксономии ипредыдущие продукты созданы.

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 17 октября 2019

Используйте эту функцию. update_field ($ selector, $ value, [$ post_id]);

Вы можете перейти по этой ссылке: https://www.advancedcustomfields.com/resources/update_field/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...