Выхватить ID поста и подставить динамично в PHP код

Имеются два SELECT поля:
В первом селекте я вывожу заголовки всех записей и получаю их ID, мне этот ID нужно выхватить и подставить динамично в PHP код второго селекта сюда 'post__in' => array( код ID ) -- вместо константы '40'
Сайт с полями для наглядности http://product-system.lianopic.co.il/index.php/user-page/
Код первого:

<?php
                    $query_args = [
                        'post_status' => 'publish',
                        'post_type' => 'movie',
                    ];
                    $query = new WP_Query( $query_args ); ?>
                        <label for="search">Search by Post title</label> 
                        <select id="country_list" class="postlist-chosen required">
                            <?php if ( $query->have_posts() ) {
                                while ( $query->have_posts() ) { $query->the_post(); ?>
                                <option value="" selected disabled></option>
                                <option  name="search" id="search" value="<?php the_title(); ?>"><?php the_title();?> - ID: <?php the_ID() ?></option>
                            <?php }} ?>
                        </select> 

Код второго:

                            <?php   
                                $query_args = [
                                    'post_status' => 'publish',
                                    'post_type' => 'movie',
                                    'post__in' => array( 40 ),
                                ];$query = new WP_Query( $query_args ); ?>
                                    <?php if ( $query->have_posts() ) {
                                  while ( $query->have_posts() ) { $query->the_post();
                                            if( have_rows('repeater_machines') ):
                                            while ( have_rows('repeater_machines') ) : the_row(); 
                                                $country = get_sub_field('country');
                                                        ?>
                                                        <option value="" selected disabled></option>
                                                        <option value="<?=$country?>"><?=$country?></option>
                                                        <?
                                                endwhile; endif; wp_reset_query(); ?>           
                                                <?php }} ?>
                                            </select>

Ответы (1 шт):

Автор решения: Talleyran

Если абстрагироваться от вашей конкретики, то упрощенно с jquery можно так:

<?php
$query_args = [...];
$list1 = new WP_Query( $query_args ); 
?>

<select id="list1">
    <option val=""></option>
    <?php foreach ($list1 as $item): ?>
        <option value="<?=$item->id?>"><?=$item->title?></option>
    <?php endforeach?>
</select>

<select id="list2">
    <option val=""></option>
</select>

<script>
    $("#list1").on("change", function(){
        $("#list2").load("/list2.php?id=" + $(this).val()); //ссылка на вторую страницу с get параметром
    });
</script>

И отдельная страница у вас должна быть (в примере list2.php), которая отдает вот это:

<?php
$query_args = [
    ...
    id => $_GET["id"]
];
$list2 = new WP_Query( $query_args );
?>
<option val=""></option>
<?php foreach ($list2 as $item): ?>
    <option value="<?=$item->id?>"><?=$item->title?></option>
<?php endforeach?>

Разумеется надо проверять $_GET перед запросом к БД и размещать вторую страницу в соответствии с тем, как у вас настроены url в wordpress или ином движке.

→ Ссылка