WordPress ordenar por campo personalizado
Contents
Probablemente la forma más popular de consultar las entradas con un campo personalizado es apuntando a un valor meta específico. Por ejemplo, digamos que tenemos un sitio donde las entradas tienen un campo personalizado que se utiliza para determinar si una entrada es «destacada». Esto es común cuando se hace una sección destacada en un sitio de WordPress.
Por supuesto, el código anterior variará dependiendo del título de sus campos y meta claves, pero la ‘clave’ es el nombre del campo personalizado, mientras que el ‘valor’ es lo que estamos consultando en las entradas. El campo ‘compare’ se utiliza para una serie de operaciones de comparación que veremos más adelante.
El uso de esto en WP_Query nos permitirá obtener un array que es ideal para las funciones de bucle para mostrar los puestos. En este artículo sólo revisaremos las funciones de meta_query en lugar de cómo mostrar la salida de WP_Query.
Ahora que hemos consultado publicaciones con una sola meta clave, vamos a hacer una con múltiples campos/claves siendo consultados. Esto le permitirá consultar los mensajes basados en múltiples campos personalizados. Este ejemplo combina las dos cosas que hemos hecho arriba anidando las consultas en un array y añadiendo una ‘relación’ a la meta_query.
Meta_query sort
La mayoría de las veces puedes encontrar la información que quieres sin tener que lidiar con los internos de la clase y las variables globales. Hay un montón de funciones que puedes llamar desde cualquier lugar que te permitirán obtener la información que necesitas.
NOTA: Ticket #28099: Pasar un array vacío a post__in devolverá has_posts() como verdadero (y se devolverán todos los posts). La lógica debe ser utilizada antes para determinar si WP_Query debe ser utilizado en el caso de que la matriz que se pasa a post__in esté vacía.
Nota sobre la paginación: Utilice get_query_var(‘page’); si quiere que su consulta funcione en una plantilla de página que haya establecido como su página principal estática. La variable de consulta ‘page’ también contiene el número de página para una sola entrada o página paginada que incluye el quicktag <!–nextpage–> en el contenido de la entrada.
Si desea ordenar por dos piezas diferentes de postmeta (por ejemplo, Ciudad primero y Estado después), necesita combinar y enlazar su meta consulta a su matriz orderby usando ‘meta consultas con nombre’. Vea el ejemplo siguiente:
Wp_query meta_query
WordPress Order By Meta Values Using WP_Query Con WordPress puedes utilizar múltiples formas de obtener una lista de entradas o elementos de contenido, algunas de ellas te permitirán obtener las entradas y páginas por defecto para que puedas recorrerlas y mostrarlas en tu tema. La otra opción es crear una consulta personalizada para obtener entradas específicas de su contenido. Para crear consultas personalizadas la mejor opción es utilizar la clase WP_Query. La clase WP_Query está definida en wp-includes/query.php esta clase se utiliza para hacer consultas a la base de datos que obtengan los posts que necesitamos para una determinada página. La clase WP_Query creará una variable que puede ser usada en cualquier parte de la página, la variable es $wp_query y tiene un número de métodos que pueden ser usados para obtener información de la consulta. El principal método que ya debes conocer es el método $wp_query->have_posts() que es llamado desde dentro del bucle por la función have_posts(). También puede utilizar esta variable dentro del bucle obteniendo la información del post actual mediante el método the_post(). Si está usando la clase WP_Query para modificar la consulta de WordPress, entonces necesita usar la variable de la clase para llamar a los métodos have_posts() y the_post().
Wp_query ordenar por fecha
Estos argumentos siempre han funcionado de forma más o menos independiente de ‘meta_query’. Internamente, ‘meta_key’ y ‘meta_value’ se convierten en la primera cláusula de una ‘meta_query’, pero esta conversión es opaca en lo que respecta a ‘orderby’.
También hemos hecho un barrido a través de las clases de consulta primarias de WP – WP_Query, WP_User_Query, y WP_Comment_Query – para asegurar que ‘orderby’ puede ser usado de la misma manera en todas partes. A partir de la versión 4.2, la sintaxis de ‘orderby’ -incluyendo las matrices multidimensionales, ‘meta_value_num’, y las referencias al índice de meta consulta descritas anteriormente- es la misma en cada una de estas tres clases de consulta. Ver #31265.