Advanced Custom Fields: interogare postări filtrate după multiple valori de câmp

1 sept. 2013, 18:49:51
Vizualizări: 14K
Voturi: 0

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:

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

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.

2
Comentarii

Ai verificat valorile reale ale câmpurilor personalizate în tabela din baza de date?

iEmanuele iEmanuele
2 sept. 2013 00:31:12

@iEmanuele Mulțumesc pentru răspuns. Poți să-mi explici pașii pentru a face asta? Presupun că aș folosi phpMyAdmin?

dadra dadra
2 sept. 2013 04:39:46
Toate răspunsurile la întrebare 1
2

Am postat și pe forumul Advanced Custom Fields și am primit răspunsul. Este mai simplu decât credeam.

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

2 sept. 2013 18:40:34
Comentarii

Tocmai ai făcut legătura înapoi la această întrebare... te rog să ofere detalii despre soluție în loc să postezi doar un link

shea shea
15 ian. 2014 08:31:26

@bungeshea Ups, scuze! Tocmai am corectat linkul de mai sus. Vezi răspunsul acceptat al lui Jonathan în partea de jos.

dadra dadra
15 ian. 2014 16:38:28