Orden de publicaciones por título en categorías corregido

  • Autor Autor liukin
  • Fecha de inicio Fecha de inicio
liukin

liukin

Dseda
Verificación en dos pasos activada
En una de mis web tengo el siguiente problema. Cuando accedo a la URL de una categoría, me muestra los post de la misma ordenados por título de forma descendente. Ej: misitio.com/categoria

Titulo del post 3
Titulo del post 2
Titulo del post 1

Lo que necesitaría es que me las mostrase ordenadas de forma ascendente. Ej: misitio.com/categoria

Titulo del post 1
Titulo del post 2
Titulo del post 3

Si alguien sabe alguna forma rápida de hacerlo me gustaría saberla. Lo ideal sería sin un plugin pero si da mucho lío lo utilizaría. Gracias por adelantado.
 
Hola amigo, se puede hacer utilizando la función WP_QUERY. Te dejo un ejemplo de como vas preparando la query.

Insertar CODE, HTML o PHP:
    $args = array(
    'post_type'        => 'post',  
    'posts_per_page'   => 'numerodepost',
    'cat'                 => 'id_categoria',
    'orderby'             => 'title', 
    [B]'order'       => 'ASC'[/B]
);

Mira que la última línea es donde le decimos de que forma ordena. Eso debería de funcionar, saludos :encouragement:
 
Gracias por la respuesta, me ha servido para orientarme en el código que necesitaba :encouragement:

Al final tras cargarme varias veces el functions.php de mi theme lo he solucionado agregando este código a dicho archivo:

Insertar CODE, HTML o PHP:
function prefix_modify_query_order( $query ) {
  if ( is_main_query() ) {

    $args =  array( 'post_date' => 'ASC' );

    $query->set( 'orderby', $args );
  }
}
add_action( 'pre_get_posts', 'prefix_modify_query_order' );

Lo que hace es modificar la instrucción por defecto de mostrar una lista de post ordenados por fecha descendente(mas nuevos a mas viejos) para que se muestren de m{as viejos a más nuevos. Dejo el código por si le es útil a alguien en un futuro 😉
 
Gracias por la respuesta, me ha servido para orientarme en el código que necesitaba :encouragement:

Al final tras cargarme varias veces el functions.php de mi theme lo he solucionado agregando este código a dicho archivo:

Insertar CODE, HTML o PHP:
function prefix_modify_query_order( $query ) {
  if ( is_main_query() ) {

    $args =  array( 'post_date' => 'ASC' );

    $query->set( 'orderby', $args );
  }
}
add_action( 'pre_get_posts', 'prefix_modify_query_order' );

Lo que hace es modificar la instrucción por defecto de mostrar una lista de post ordenados por fecha descendente(mas nuevos a mas viejos) para que se muestren de m{as viejos a más nuevos. Dejo el código por si le es útil a alguien en un futuro 😉

Exactamente, qué bueno que te sirvió. Saludos :encouragement:
 
Dejo otra pregunta abierta relacionada con esta. El ejemplo que he puesto funciona en toda la web, tanto en la p{agina principal donde se muestran los últimos post, como al acceder a los post de una determinada categoría.

La pregunta es la siguiente, como hacer para que esto no funcione en la página principal o sólo al acceder a los post de una determinada categoría?
 

Gracias de nuevo :encouragement:

Utilizando como mencionas la función para las categorías en el condicional if ya me funciona correctamente como quería. Dejo el código para lo mismo que el anterior pero para que sólo se aplique a los post que aparecen en los resultados de las categorías y no en la Home y demás.

Insertar CODE, HTML o PHP:
function prefix_modify_query_order( $query ) {
  if ( is_category() ) {

    $args =  array( 'post_date' => 'ASC' );

    $query->set( 'orderby', $args );
  }
}
add_action( 'pre_get_posts', 'prefix_modify_query_order' );
 
Atrás
Arriba