J'ai trois boîtes de sélection qui permettent de filtrer une liste de publications personnalisées, de sélectionner une ou toutes les options, puis de cliquer sur un bouton "Filtre" qui recharge la page et ajoute la (les) variable (s) filtrée (s) l'URL en tant que chaîne de requête. Cela fonctionne parfaitement bien avec les deux taxonomies personnalisées je:Comment modifier Wordpress WP_Query avec une valeur de champ personnalisée après le filtrage?
$categories = array('company-sector', 'company-location');
foreach ($categories as $category) {
if (isset($_GET[$category]) && !empty($_GET[$category])) {
$query['tax_query'][] = array(
'taxonomy' => $category,
'field' => 'slug',
'terms' => $_GET[$category]
);
}
}
Cependant, en utilisant la même logique sur le troisième filtre (un champ personnalisé créé avec ACF), la liste des messages ne change pas:
if (isset($_GET['company-status']) && !empty($_GET['company-status'])) {
$query['meta_query'][] = array(
'key' => 'company_status',
'value' => $_GET['company-status'],
);
}
Cette méta requête fonctionne très bien si je l'ajouter manuellement dans le WP_Query initial comme ceci:
$query = array(
'post_type' => 'company-post',
'posts_per_page' => $posts_per_page,
'orderby' => 'title',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'company_status',
'value' => 'acquired'
)
)
);
Cependant, en essayant d'ajouter dans la requête initiale après avoir obtenu la variable fr om la chaîne de requête ne semble pas fonctionner, qu'est-ce que je fais mal ici?
// modifier
Même cela fonctionne:
$query = array(
'post_type' => 'company-post',
'posts_per_page' => $posts_per_page,
'orderby' => 'title',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'company_status',
'value' => $_GET['company-status']
)
)
);
Il doit être quelque chose à voir avec la façon dont je suis le meta_query annexant au WP_Query initial ...
Si votre var_dump ($ _ GET ['company-status']) obtenez-vous les résultats escomptés? – Stender
N'a pas essayé var_dump(), mais echo $ _GET ['company-status']; retourne ce que je m'attends à voir. – JFK1980
var_dump() renvoie: string (7) "current". ('current' ou 'acquire' sont les deux options actuellement, qui apparaissent dans le backend comme des boutons radio ACF.) – JFK1980