Advanced Custom Fields: interogare postări filtrate după multiple valori de câmp
Am următoarele:
tip de postare personalizată: q-and-a
taxonomie personalizată: q_and_a_category
termeni de taxonomie: design, inginerie, management-de-proiect
Creez trei pagini separate care filtrează postările personalizate după termenii lor. Adică, o pagină pentru Design, una pentru Inginerie și alta pentru Management de Proiect.
Realizez acest lucru cu trei șabloane de pagini separate, astfel:
<?php
$args=array(
'post_type' => 'q-and-a',
'q_and_a_category' => 'design' // slug-ul pentru termenul de taxonomie personalizată
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();
?>
<?php the_title(); ?>
<?php endwhile; }?>
<?php wp_reset_query(); ?>
Dar încerc să creez un singur șablon de pagină unde termenul de taxonomie este introdus printr-un meniu "select" pe care l-am configurat folosind Advanced Custom Fields.
Am încercat să urmăresc tutorialul plugin-ului ACF pentru asta, exemplul 3:
Astfel:
<?php
// argumente
$args = array(
'numberposts' => -1,
'post_type' => 'q-and-a',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'q_and_a_category',
'value' => '%design%',
'compare' => 'LIKE'
),
array(
'key' => 'q_and_a_category',
'value' => '%inginerie%',
'compare' => 'LIKE'
),
array(
'key' => 'q_and_a_category',
'value' => '%management-de-proiect%',
'compare' => 'LIKE'
)
)
);
// obține rezultate
$the_query = new WP_Query( $args );
// Bucla
?>
<?php if( $the_query->have_posts() ): ?>
<?php the_title(); ?>
<?php endif; ?>
<?php wp_reset_query(); // Restabilește datele globale de postare suprascrise de the_post(). ?>
Când încerc acest lucru, pagina se încarcă în front-end dar nu sunt afișate postări.
Alte sugestii? Mulțumesc anticipat.
Am postat și pe forumul Advanced Custom Fields și am primit răspunsul. Este mai simplu decât credeam.
