Cuando ejecuté una consulta con el método WP_Query, obtuve un objeto. Entiendo que puedo hacer el ciclo para mostrar cosas. Pero, mi objetivo no es mostrar nada, en cambio, quiero obtener algunos datos de publicación haciendo algo como "foreach ...". ¿Cómo puedo obtener una matriz de datos de publicación que pueda recorrer y obtener datos?
35
Respuestas:
Debe leer la referencia de función para WP_Query en el códice de WordPress. Ahí tienes muchos ejemplos para mirar. Si no desea recorrer el conjunto de resultados utilizando a
while
, puede obtener todas las publicaciones devueltas por la consulta conWP_Query
en la propiedadposts
.Por ejemplo
fuente
'posts_per_page'=>1
in args.function wp_queryfirstpost($args) { $q=new WP_Query($args); $pp=$q->get_posts(); $firstpost=false;if ($pp) $firstpost=$pp[0]; wp_reset_postdata(); return $firstpost; }
$query->posts
lugar, debe usar ,$query->get_posts()
activará una repetición del análisis de consultas y consultas adicionales innecesarias de la base de datosEn realidad, no necesita negarse a usar el
while()
bucle. El mismo objeto WP_Post ya está almacenado en lapost
propiedad:fuente
if
es redundanteif
no es redundante. En este caso exacto lo es, pero en la mayoría de las situaciones de producción, tiene que ejecutar un código entre el if y el while.también puedes usar en
get_posts( $args )
lugar dewp_Query()
, lo que te dará una lista de publicacionesfuente