Я пытаюсь решить одну проблему с помощью одной из недавно созданных функций. Ниже вы найдете фрагмент кода, который создает раскрывающееся поле, в котором каждый представляет определенную c «партнерскую компанию». Код работает отлично.
function fnc_select_1() {
$args = array(
'post_type' => 'freecourses',
'orderby' => 'meta_value',
'status' => 'publish',
'order' => 'DESC',
'meta_key' => 'validation_date',
);
$the_query = new WP_Query($args);
if ($the_query->have_posts()):
while ($the_query->have_posts()) : $the_query->the_post();
if(have_rows('validation_date')):
while (have_rows('validation_date')) : the_row();
if( get_sub_field('company')) {
$firm_array[] = get_sub_field('company');
}
endwhile;
wp_reset_query();
else :
// no rows found
endif;
endwhile;
$firms = array_unique($firm_array);
natsort($firms);
echo '<select type="text" class="form-control" name="company" id="company">';
echo '<option value="">company</option>';
foreach ($firms as $firm) {
echo '<option value="'. $firm .'">';
echo $firm;
echo '</option>';
}
echo '</select>';
endif;
}
add_shortcode( 'select_1', 'fnc_select_1' );
По некоторым причинам я решил улучшить эту функцию, добавив:
- дополнительная фильтрация на основе пользовательской таксономии (называемой "тип")
- на основе страницы, на которой будет отображаться функция, я хотел ограничить / отфильтровать эти компании, указав c условия этой таксономии.
Итак, я создал такой код:
if (is_page(29557) ):
$childno = '205';
elseif (is_page(29640) ):
$childno = '206';
endif;
и просто к своим аргументам wp_query, я решил добавить:
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'type',
'child_of' => $childno
),
),
, но это не работает Он вообще не отображает выпадающий список ..
В чем проблема?