Filtra WP_Query para mensajes que tienen una cierta meta-valor
-
16-10-2019 - |
Pregunta
Cómo filtrar WP_Query para los puestos que tienen una cierta meta-valor, sin necesidad de utilizar una consulta de selección personalizada?
Tengo un posttype personalizado con meta-clave: "abierta", y las opciones de meta-valor:. "Sí" o "no"
Me gustaría mostrar mensajes únicamente con meta_value = sí, por meta_key = "abierta".
function filter_where($where = '') {
$open = "yes";
//$where .= " AND post_date > '" . date('Y-m-d', strtotime('-2 days')) . "'";
return $where;
}
add_filter('posts_where', 'filter_where');
Solución
No estoy seguro de su redacción si no lo había intentado con el argumento de consulta o no funcionó?
$the_query = new WP_Query(array( 'meta_key' => 'open', 'meta_value' => 'yes' ));
personalizada en el Codex.
Otros consejos
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'custom-key'
AND wposts.post_type = 'page'
ORDER BY wpostmeta.meta_value DESC
";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a wordpress.stackexchange