Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo ordenar un loop de WordPress siguiendo varios criterios: multiple orderby

El parámetro orderby de la clase WP_Query de WordPress puede ser múltiple. Así podemos componerlo con múltiples criterios, siendo el primero el dominante.

Por ejemplo, si queremos ordenar un loop bajo los criterios title y menu_order, y que el título del post sea dominante, pasaremos los siguientes parámetros a WP_Query:

$args = array(
  'post_type' => 'page',
  'orderby' => 'title menu_order',
  'order' => 'ASC'
);
Contexto

Personalizando el loop de WordPress con WP_Query->set() para casos y plantillas determinados

Imago voragine.net
[actualizado el ] • Por
Configurar una query para conseguir el loop que necesitamos en una plantilla determinada de WordPress es fácil: basta crear una query personalizada mediante WP_Query. Hay veces que solo queremos modificar una variable de la query, y para un caso concreto, no para toda la template. Por ejemplo en la template archive.php y solo para las queries que afecten a una taxonomía determinada. En estos casos, quizás prefiramos no ensuciar el archivo de la template, archive.php en nuestro ejemplo. Lo que podemos hacer es hacerlo usando el método set() de WP_Query en una función que incluiremos en el archivo functions.php de nuestor theme.

Cómo saber el número de entradas de un loop en WordPress

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Para averiguar el número de entradas de un loop en WordPress podemos llamar a la variable $wp_query de WordPress, por supuesto dentro del loop, que es la que almacena toda la información de la llamada que hemos hecho a base de datos para formar el loop.

echo $wp_query->post_count;

La función wp_count_posts es otra manera de contar entradas; la función devuelve el número de entradas en un determinado estado (borrador, publicada…) de un determinado tipo de post (entrada, página…).

Cómo conseguir un loop con offset y paginación

Imago voragine.net
[actualizado el ] • Por
Parece fácil y la solución lo es por su sencillez, pero llegar a ella cuesta mucha búsqueda e intentos fallidos. Para conseguir un loop con offset paginado utilizaremos query_posts. Si lo utilizamos asignando un valor directo al atributo offset no funcionará. Para que funcione debemos relacionar los dos atributos de la siguiente manera.

Cómo conseguir varias listas de entradas sin que se repitan en WordPress

Imago voragine.net
[actualizado el ] • Por
Para conseguir varios listados de entradas en una misma página de WordPress tenemos que reproducir el Loop tantas veces como listas queramos tener. Así podremos tener una lista general, otra en la que solo tengamos las entradas de una categoría y cosas así. El código que esté dentro del Loop se repetirá para cada entrada, […]