Como ordenar las entradas de WordPress por un campo personalizado

  Desarrollo

WordPress ordena por defecto las entradas de la página de inicio por la fecha de publicación de la misma. Es posible cambiar este orden por diferentes parámetros. En este artículo nos centraremos en la ordenación por un campo personalizado utilizando el hook pre_get_posts.

En primer lugar debemos conocer que las entradas de WordPress permiten introducir metadatos a través de campos personalizados. Estos se encuentran en la parte inferior de la página de edición de la entrada. Como todo metadato se basa en un clave o ‘key’ y un valor o ‘value’. Una vez se ha creado una clave en una entrada, ésta nos aparecerá en el resto de entradas que creemos.

Una vez establecidos estos valores, podemos ordenar las entradas en la home por un metadato con el siguiente código:

add_action('pre_get_posts', 'order_posts_on_homepage');
function order_posts_on_homepage($query) {
  if ($query->is_home() && $query->is_main_query()) {
    $query->set('meta_key', 'Fecha inicio');
    $query->set('orderby', array('meta_value' => 'ASC'));
  }
}

Utilizamos un HOOK previo a la consulta de las entradas y la modificamos con el atributo orderby. En la página de WordPress Class Reference/WP Query podemos encontrar los parámetros que podríamos utilizar en el método $query->set().

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.