WordPress Как я могу производить расчеты на основе пользовательских метаданных на основе условной логики?
У меня есть сайт WordPress, где участники регистрируют информацию о себе.
Для регистрации пользователей я использую Profile Builder Pro от Cozmoslabs и их формы редактирования профилей.
В их профиле пользователя мне нужно поле под названием "score_1", которое содержит вычисления на основе значений в других полях.
Пример: у меня есть два переключателя с их параметрами и значениями:
BUTTON_A: Option_1: val_radio_1, option_2: val_radio_2, option_3: val_radio_3.
BUTTON_B: Вариант_1: val_radio_a, вариант_2: val_radio_b, вариант_3: val_radio_c.
Если нажата кнопка A, option_1, а также button_B, option_2, я хочу, чтобы значение в score_1 было обновлено до произведения val_radio_1 и val_radio_b.
Я хочу, чтобы расчет в "score_1" автоматически обновлялся каждый раз, когда обновляются значения в BUTTON_A и / или BUTTON_B.
Могу я сделать это с помощью сниппета? Или есть другой способ?
1 ответ
add_action( 'wppb_register_success', 'wppbc_custom_code', 20, 3 );
function wppbc_custom_code( $http_request, $form_name, $user_id ){
$BUTTON_A = get_user_meta($user_id,'BUTTON_A',true);
$BUTTON_B = get_user_meta($user_id,'BUTTON_B',true);
if( $BUTTON_A == "Value" && $BUTTON_B == "Value") {
update_user_meta($user_id,'score_1','YOUR VALUE');
}
}
Вы можете попробовать этот код, если хотите получить этот тип результатов. Этот хук будет срабатывать после успешной регистрации. Сначала он получит значение BUTTON_A и BUTTON_B, затем он проверит, заполнено ли условие полностью, затем он создаст мета-поле (score_1) для пользователя в этом поле вы можете установить собственное значение.