WP_Query(‘orderby=post_date’) no funciona con wordpress

2 minutos de lectura

WP_Query('orderby=post_date') no funciona con wordpress.

¿Cómo ordeno mis publicaciones en orden descendente?

WP_Query('orderby=date&order=DESC') 

  • haga una prueba, no lo sé, si no es lo que está buscando, eche un vistazo a $wpdb y ejecute su propia consulta

    – Poelinca Dorín

    26 de diciembre de 2010 a las 10:09

  • Aquí hay una lista de columnas para ordenar con descripciones: codex.wordpress.org/Class_Reference/…

    – Tylerl

    13 de enero de 2017 a las 18:26

  • dónde escribir la variable $args entonces

    – Trabajo Pravin

    6 de julio de 2017 a las 12:54

  • @AllenGingrich, explique por qué.

    – Poelinca Dorín

    31 de octubre de 2018 a las 15:38

Los siguientes 3 parámetros le darán las publicaciones en orden ascendente desde la fecha en que se publicó (es decir, las publicaciones más antiguas se mostrarán primero)

‘post_status’ => ‘publicar’, ‘ordenar por’ => ‘publicar_fecha’, ‘pedir’ => ‘ASC’

Cuando cambias el ordenar a DESC obtendrá las publicaciones en orden descendente desde la fecha en que se publicó (es decir, las últimas publicaciones se mostrarán primero)

‘post_status’ => ‘publicar’, ‘ordenar por’ => ‘publicar_fecha’, ‘pedir’ => ‘DESC’

<?php
$postsPerPage = 10;
$page = 1;
?>
<?php
$query = new WP_Query(array(
    'cat' => 4,
    'post_status' => 'publish',
    'orderby' => 'publish_date',
    'order' => 'ASC',
    'paged' => $page,
    'posts_per_page' => $postsPerPage));
?>

Para ordenar por la fecha de modificación que tiene uso orderby=modified.

WP_Query( 'orderby=modified&order=DESC' ) 

Ver la documentación para más valores posibles.

avatar de usuario
Kashyap duro

Prueba esto

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $args = array(
    "post_type" => "post",
      "post_status" => "publish",
      "paged" => $paged,
      "orderby" => "date",
      "order" => 'ASC'
       );
     WP_Query($args);

Si estás usando PostTypesOrder plugin podría modificar globalmente su consulta, para evitar este comportamiento en un tipo de publicación en particular

add_filter('pto/posts_orderby/ignore', 'theme_pto_posts_orderby', 10, 3);

function theme_pto_posts_orderby($ignore, $orderBy, $query)
{
       if( (! is_array($query->query_vars['post_type']) && $query->query_vars['post_type'] == 'post') ||
       (is_array($query->query_vars)   &&  in_array('post', $query->query_vars)))
               $ignore = TRUE;
       return $ignore;
}

  • También puedes usar: 'ignore_custom_sort' => true en la consulta

    – Ilija Lončarević

    3 de junio de 2021 a las 20:32

avatar de usuario
Alex

Solo una nota más, me tiré de los pelos porque todo el tiempo estaba obteniendo los mismos elementos en la lista, entonces me di cuenta de que necesitaba agregar:

'ignore_sticky_posts' => true,

Espero que alguien más se dé cuenta de esto antes que yo.

  • También puedes usar: 'ignore_custom_sort' => true en la consulta

    – Ilija Lončarević

    3 de junio de 2021 a las 20:32

¿Ha sido útil esta solución?