Advanced Custom Fields: query posts filtrati per valori multipli di campo

1 set 2013, 18:49:51
Visualizzazioni: 14K
Voti: 0

Ho la seguente configurazione:

tipo di post personalizzato: q-and-a
tassonomia personalizzata: q_and_a_category
termini della tassonomia: design, engineering, project-management

Sto creando tre pagine separate che filtrano i post personalizzati in base ai loro termini. Ovvero, una pagina per Design, una per Engineering e un'altra per Project Management.

Lo sto realizzando con tre template di pagina separati, così:

<?php

$args=array(
'post_type' => 'q-and-a',
'q_and_a_category' => 'design' //lo slug del termine della tassonomia personalizzata  
);
$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(); ?>

Ma sto cercando di creare un singolo template di pagina dove il termine della tassonomia viene inserito tramite un menu "select" che ho configurato usando Advanced Custom Fields.

Ho provato a seguire il tutorial del plugin ACF per questo, esempio 3:

http://www.advancedcustomfields.com/resources/how-to/how-to-query-posts-filtered-by-custom-field-values

In questo modo:

<?php 

// argomenti
$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' => '%engineering%',
        'compare' => 'LIKE'
    ),
    array(
        'key' => 'q_and_a_category',
        'value' => '%project-management%',
        'compare' => 'LIKE'
    )
)
);

    // ottieni i risultati
$the_query = new WP_Query( $args );

// Il Loop
?>
<?php if( $the_query->have_posts() ): ?>

<?php the_title(); ?>

<?php endif; ?>

<?php wp_reset_query();  // Ripristina i dati globali del post sovrascritti da the_post(). ?>

Quando provo questo codice, la pagina si carica sul front-end ma nessun post viene visualizzato.

Qualche suggerimento? Grazie in anticipo.

2
Commenti

Hai verificato i valori effettivi dei tuoi campi personalizzati nella tabella del database?

iEmanuele iEmanuele
2 set 2013 00:31:12

@iEmanuele Grazie per la risposta. Potresti spiegarmi i passaggi per farlo? Suppongo che dovrei usare phpMyAdmin?

dadra dadra
2 set 2013 04:39:46
Tutte le risposte alla domanda 1
2

Ho anche postato nel forum di Advanced Custom Fields e ho ricevuto la risposta. È più semplice di quanto pensassi.

http://support.advancedcustomfields.com/forums/topic/help-with-query-posts-filtered-by-multiple-field-values/

2 set 2013 18:40:34
Commenti

Hai appena collegato nuovamente a questa domanda... per favore fornisci i dettagli della soluzione invece di un semplice post con un link

shea shea
15 gen 2014 08:31:26

@bungeshea Ops, scusa! Ho appena corretto il link sopra. Vedi la risposta accettata di Jonathan in fondo.

dadra dadra
15 gen 2014 16:38:28