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:

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.
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.
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.
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.
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!
Hola, prueba usar ‘post_date’