• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
Inicio / Tutoriales / Core / Ordenar alfabéticamente el contenido de WordPress
Anuncio banner webservi

Ordenar alfabéticamente el contenido de WordPress

Ordenar alfabéticamente el contenido de WordPress

[ 15 abril 2020 ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

mejoras

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

WordPress por defecto ordena las entradas y otros tipos de contenido (custom post type) de acuerdo a la fecha de creación y de manera descendente, sin embargo puedes cambiar el orden por defecto y ordenar tu contenido alfabéticamente a través de código.

 

Resultado Final

Lo que al final obtendrás será algo similar a lo que se muestra en la siguiente imagen:

Resultado final ordenamiento

 

Generalidades

El código para el ordenamiento se basa en cambiar la consulta SQL, usamos el Hook pre_get_posts el cual hace referencia a una función que toma como parámetro justamente el objeto de la consulta y al cual podemos hacer modificaciones.

El código que se muestra en los siguientes ejemplos puedes agregarlo en el archivo functions.php de tu tema hijo o puedes usar un plugin de Snippets..

 

Ordenar todas las entradas

Si quieres ordenar todas las entradas para que aparezcan en orden alfabético, ya sea en el inicio o en las categorías puedes usar el siguiente código:

add_action( 'pre_get_posts', 'dcms_order_content' );
function dcms_order_content( $query ) {
	if ( $query->is_main_query() ){
		$query->set( 'orderby', 'title' );
		$query->set( 'order', 'ASC' );
	}
	return $query;
}

 
En el código anterior la comprobación se hace siempre si es la consulta principal y no hay ninguna condición adicional.

 

Ordenar entradas de una categoría específica

Para ordenar las entradas de una categoría específica puedes usar el siguiente código.

add_action( 'pre_get_posts', 'dcms_order_content' );
function dcms_order_content( $query ) {
	if ( $query->is_main_query() && is_category('blog') ){
		$query->set( 'orderby', 'title' );
		$query->set( 'order', 'ASC' );
	}
	return $query;
}

 
En el código anterior he asumido que tienes entradas en una categoría llamada blog

 

Ordenar Custom Post Type de una categoría específica

Podemos extender el código de ordenamiento de entradas de una categoría específica para cualquier custom post type.

add_action( 'pre_get_posts', 'dcms_order_content' );
function dcms_order_content( $query ) {
	if ( $query->is_main_query() && is_category('cocina') ){
		$query->set( 'post_type', 'recetas_post_type' );
		$query->set( 'orderby', 'title' );
		$query->set( 'order', 'ASC' );
	}
	return $query;
}

 
En el código anterior he asumido que tienes un custom post type registrado con el id recetas_post_type y además que están mostrándose como parte de la categoría cocina.

Para aprender a crear Custom Posts Types puedes revisar: Usando Custom Post Types en WordPress

 

Ordenar Custom Post Type para una taxonomía específica

Si tienes una taxonomía asociada a un custom post type, simplemente puedes cambiar la condición de comprobación de categoría a taxonomía.

add_action( 'pre_get_posts', 'dcms_order_content' );
function dcms_order_content( $query ) {
	if ( $query->is_main_query() && is_tax('pais') ){
		$query->set( 'post_type', 'recetas_post_type' );
		$query->set( 'orderby', 'title' );
		$query->set( 'order', 'ASC' );
	}
	return $query;
}

 
En el código anterior he asumido que tienes un custom post type registrado con el id recetas_post_type y además que esta asociado a una taxonomía llamada pais.

Para aprender a crear nuevas Taxonomías puedes revisar: Aprende a usar Taxonomías en WordPress

 

Conclusión

Como has podido comprobar, puedes cambiar la consulta que recupera las entradas o cualquier custom post type y hacer modificaciones, en los ejemplos anteriores hemos cambiado el orden de acuerdo al título para que se muestre de forma ascendente.

 
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores.

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Taxonomías en WordPressAprende a usar Taxonomías en WordPress
  • Custom Post Types en WordPressUsando Custom Post Types en WordPress
  • Leer más y extracto en WordPressLeer más y Extracto en WordPress
  • Enviar datos PHP a Javascript en WordPressEnviar datos desde PHP a Javascript en WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (4 votos, promedio: 4,75 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. Dany

    5 octubre, 2020

    Hola, he estado intentando ordenar por fecha asc ciertas categorías y desc otras, con el código de entradas de una categoría específica y no me funcionó. Hice mal reemplando tittle por date?. Gracias por tus aportes son de mucha ayuda!

    • Jhon Marreros Guzmán

      7 octubre, 2020

      Hola, prueba usar ‘post_date’

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral primaria

Presentación

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
Los 5 posibles errores que estas cometiendo cuando trabajas con código en WordPress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad social

Populares

Crear un sitio One Page en WordPress

Personalizar la página de error 404 en WordPress

Insertar un logo SVG animado en WordPress

Limitar a los autores a ver su propio contenido en WordPress

Recientes

  • Leer datos desde otra base de datos en WordPress
  • Crear un sitio One Page en WordPress
  • Mostrar lista de autores en WordPress
  • Añadir código de Google Tag Manager sin plugins en WordPress
alojamiento wordpress

© logo decode pie Copyright 2021 | Todos los derechos reservados | Política de Privacidad