При разработке игровых механик часто нужно, чтобы один из параметров изменился на 1. Да, это тривиальная задача, которая решается в 3 действия:
- Получить текущее значение из базы
- Увеличить значение на 1
- Сохранить новое значение
Добавив в вашу тему или плагин новую функцию:
function increament_field($fieldname,$post_id, $min=0, $max=false) {
$result = get_field($fieldname, $post_id);
if (is_numeric($result)) {
$result++;
//Проверяем не превышено ли максимальное значение
if ( is_numeric($max) ) $result = min($result, $max);
update_field($fieldname, $result, $post_id);
return $result;
}
else {
//Если значение поля не было задано, применяем минимальное значение
$result = $min;
$result++;
update_field($fieldname, $result, $post_id);
return array('status' => 'ok', 'result' => $result);
}
}
Вы сделаете ваш код более элегантным
Было:
$game_step = get_field('game_step',$post_id);
$game_step++;
update_field('game_step', $game_step, $post_id);
Стало:
increament_field('game_step',$post_id);