Является ли $ photo_size массивом? Это не похоже на это. Что вы получите, если вы {{dump (photo_gallery)}}? Или var_dump ($ photo_size) в вашем php-файле? Похоже, что вы должны циклически проходить через поле show_gallery, а не поле photo_size, но трудно сказать, учитывая имена полей и то, что мы не можем видеть настройку вашего поля (некоторый языковой барьер здесь, без сомнения - если бы я мог говорить по-французски, я мог бы наверное, получше идея получше). По сути, нам нужно знать, как настроено это поле show_gallery, тогда я уверен, что оно станет более понятным.
Так что, возможно, у вас должно быть что-то вроде:
$context['photos'] = get_field('show_gallery');
тогда
{% for item in photos %}
{% set photo_size = function('get_field','photo_size',item.id) %}
<img src="{{ item.url }}" class="gallery__img {{ photo_size }}" alt="{{ item.alt }}">
{% endfor %}>