Функция WP_Query для пользовательского типа сообщения

У меня есть CPT для случайных изображений главной страницы (чтобы мы могли тестировать разные изображения и называть язык действия). У меня есть настраиваемое поле для типа сообщения, которое принимает определенный идентификатор для каждого баннера, чтобы мы могли его отслеживать. Мне нужно затем получить этот идентификатор в Gravity Forms.

Вот где возникает проблема, с которой я сталкиваюсь (и это не специальные формы гравитации). Я выполняю запрос в своей функции, но он дает мне случайные идентификаторы в Gforms вместо фактического идентификатора баннера во время заполнения формы (что происходит в модальном окне). Я использую ACF для создания настраиваемых полей, если это имеет значение (в моей функции есть специальный код ACF).

Вот моя функция:

add_filter('gform_field_value_Banner_ID', 'populate_Banner_ID'); function populate_Banner_ID($value){ global $wp_query; $args = array ( 'post_type' => 'home_banners' ); $home_banners = new WP_Query( $args ); while ( $home_banners->have_posts() ) : $home_banners->the_post(); $banner_id = get_field('home_banner_mail_id', $post->ID); endwhile; return $banner_id; } 

Я пробовал global $post; тоже, и это не сработало. Как я уже сказал, он захватывает пользовательское поле и заполняет его Gravity Forms, но, похоже, он захватывает случайную версию идентификатора.

Я использовал следующее на странице, которая не загружает форму в модальном режиме и работает как ожидалось (и идентификатор на этой странице также является динамическим). Я также пробовал это для конкретной формы, которую я использую в модальной форме, но она вообще не подбирает идентификатор.

 function populate_ppc_mail_id($value){ global $post; $mail_id = get_field('ppc_mail_id', $post->ID); return $mail_id; } 

add_filter ('gform_field_value_mail_id', 'populate_ppc_mail_id');

Может ли кто-то указать на то, что я делаю неправильно в моем запросе, что он не подбирает правильный идентификатор? У меня есть загрузка id как идентификатор css, чтобы проверить, что он работает, и эта часть работает так, как ожидалось, – просто этот конкретный запрос, похоже, не хочет сотрудничать.

Заранее спасибо!