Pregunta

Estoy usando Obtener publicaciones complemento para enumerar publicaciones con el tipo de publicación "proyecto". Quiero filtrar la lista por dos campos personalizados: año (ex. 2006) y estado (por ejemplo). yo añadí meta_query al complemento get_post Args y probé el código corto:

[get_posts post_type="project" meta_query="array(array('key' => 'state', 'value' => 
'Completed'),array('key' => 'year','value' => '2006'))" suppress_filters="false"]

Esto no funciona, aunque puedo hacer que tanto el "estado" como el "año" funcionen por su cuenta usando meta_key y meta_value.

¿Alguien puede ponerme en la dirección correcta?

¿Fue útil?

Solución

Además del complemento que no se actualiza, esto no funcionará porque el Meta_query Arg se evalúa como una cadena:

array(3) {
  ["post_type"] => string(7) "project"
  ["meta_query"] => string(96) "array(array('key' => 'state', 'value' => 
'Completed'),array('key' => 'year','value' => '2006'))"
  ["suppress_filters"] => string(5) "false"
}

Te sugiero que hagas un Plantilla de página personalizada, donde llamaría directamente get_posts () con el meta_query que desea.

Tendrá que copiar el código que maneja la lista real de las publicaciones.

Otros consejos

No creo que el complemento se haya actualizado para admitir los nuevos args de consulta, o específicamente en este caso, el meta_query argumento

La página del complemento enumera la compatibilidad hasta 3.0.5, y si no recuerdo mal, meta_query fue introducido en 3.1, así que, naturalmente, concluiría que el apoyo aún no está disponible.

Podría estar equivocado, solo conectando los puntos.

El complemento usa shortcode_atts Para limitar la lista de argumentos aceptados:

http://plugins.trac.wordpress.org/browser/nurelm-get-posts/tags/0.3/get-posts.php#l29

meta_query no está en esa lista. Sugeriría bifurcar el complemento o pedirle al autor que lo actualice para permitir meta consultas.

Licenciado bajo: CC-BY-SA con atribución
scroll top