Ordem de publicações por título em categorias corrigido

  • Autor Autor liukin
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
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.
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Hola amigo, se puede hacer utilizando la función WP_QUERY. Te dejo un ejemplo de como vas preparando la query.

Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou 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.

Inserir CODE, HTML ou 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' );
 
Voltar
Topo