Si utilizas campos personalizados en tu WordPress, es posible que necesites que en la página de archivo, el listado de tus artículos aparezcan ordenados por uno de esos campos en concreto.
Para ello, podemos modificar los parámetros de la función get_query de la plantilla en concreto que estamos trabajando mediante meta_key y orderby:
‘meta_key’ => ‘año’,
‘orderby’ => ‘meta_value_num’,
En este ejemplo más completo veremos la consulta completa para filtrar las entradas de un tipo de post personalizado, filtrando por los valores de un campo y ordenándolos por otro.
Tenemos un custom post type creado para dar de alta unos tipos de entradas de publicaciones, cuyos campos variarán un poco en función del tipo de publicación.
En esta página, queremos mostrar todas las publicación del tipo «comunicación» y ordenados por un campo personalizado «año». (Aunque podríamos haber utilizado el campo de fecha del post, en este caso no nos servía porque lo necesitábamos para una fecha distinta al año).
Una vez hecha la consulta, realizaremos el loop y mostraremos los datos generando el html y css a nuestra medida:
Con los argumentos en la consulta wp_query que nos interese y la salida en html y css adecuada podremos personalizar cualquier listado de entradas y página de archivos de nuestra web.
¿Eres implementador o desarrollador WordPress?
En la Zona DPW encontrarás más recursos, tutoriales, plantillas, y una biblioteca de snippets para poder utilizar en tu día a día y ganar tiempo en tu trabajo:
ACCEDER AHORA
Comentarios
2 respuestas a «Ordenar los posts por campo personalizado»
|
Buenas tardes,
es posible hacer eso pero con productos?
Tengo productos que muestro el precio de 1000 y ese precio lo tengo en una variable $precio_final.
es posible cambiar la forma de ordenar precio de bajo a alto pero con esa variable?
Un saludo
|
Hola!
Pues en principio si es posible, ya que los productos no son más que otro tipo de post (post_type=’product’), pero tendrás que mirar cómo aplicarlo al loop de WooCommerce para que te sirva en las páginas de la tienda.
Si encuentro algo que te pueda servir, lo añado.
Saludos!