Con esta entrada doy paso a una nueva serie de entradas en las que seré más técnico y en las que hablaré de mi día a día desarrollando con WordPress con CODECTION pero de una forma técnica, y no hablando de ideas, negocios o eventos como hasta ahora. Esta vertiente técnica la tenía (y la sigo teniendo) en nuestro portal Linux Hispano, compartido con otros dos compañeros ajenos a CODECTION, donde me centraré más en cuestiones técnicas que no tengan que ver con WordPress para hablar en este blog sobre las que sí tengan que ver con nuestro sistema gestor de contenido favorito.
Veamos, cuando desarrollo para clientes, es muy frecuente que use las consultas de WordPress estándares, las llamadas WP_Query, además de facilitarme mucho el trabajo, son eficaces, seguras y gracias a los CPT (los Custom Post Types o tipos de datos personalizados) muy versátiles.
En muchas ocasiones necesitas ver cuántos resultados ha obtenido una consulta: para calcular un total, para arreglar algún tema de paginación o para poder hacer alguna medida estadística, entre otras muchas cosas.
Veamos uno a uno, los diferentes métodos que tenemos para hacer este recuento. Doy por hecho que tenemos entre manos una consulta que ha sido ejecutada, a la que llamaré $wp_query y que estamos dentro de un entorno WordPress.
Dudas, preguntas y sugerencias, en los comentarios.
Total de entradas de la página actual
Usaríamos el siguiente código, si en lugar de entradas estamos haciendo una consulta sobre otro post_type sería sobre dicho tipo de dato personalizado:
$total_entradas_pagina_actual = $wp_query->post_count;
echo 'Hay ' . $total_entradas_pagina_actual . ' entradas en esta página';
Total de entradas de la consulta al completo
Si en lugar de en la página actual, queremos verlo en toda la consulta, las instrucciones serán otras. Este caso suele ser más frecuente, ya que esta operación nos puede servir en multitud de circunstancias:
$total_entradas_consulta = $wp_query->found_posts;
echo 'Hay un total de ' . $current_query_total_post_count . ' entradas en toda la consulta';
Lugar de la entrada actual dentro del bucle
Como en todos los bucles en informática, no sólo necesitamos saber cuántas vueltas tenemos que dar, sino en qué vuelta estamos ahora, así que, comenzando desde cero (el primer elemento será el 0) con esta instrucción obtendremos en qué entrada nos encontramos dentro de la consulta:
$entrada_actual = $wp_query->current_post + 1;
echo 'Estamos en la entrada número: ' . $wp_query->current_post;
Total de entradas publicadas en el sitio
Si por estadística o por curiosidad quieres saber cuántas entradas hay publicadas en el sitio, se usa una función que objeto y luego se llama a un atributo. Por defecto devuelve estadística del tipo de dato post aunque podemos modificarlo a cualquier tipo de dato pasándolo por parámetro:
$contador_entradas = wp_count_posts();
echo 'Total de entradas publicadas = ' . $contador_entradas->publish;
Número de entradas por página por defecto en el sitio
En WordPress podemos manejar vía «Ajustes», «Lectura» el número de entradas por página, que por defecto habrá en el sitio, aunque en cada query podremos modificarlo. Este valor se almacena en la tabla de opciones y es:
$entradas_por_pagina_por_defecto = get_option('posts_per_page');
echo 'Entradas por página por defecto = '. $entradas_por_pagina_por_defecto;
Número de entradas por página en la consulta actual
Finalmente, tenemos el número de entradas por página presente en cada consulta, que podemos modificar al hacerla y que podemos consultar de esta manera.
$entradas_por_pagina_bucle_actual = $wp_query->query_vars["posts_per_page"];
echo 'Entradas por página en esta consulta = '. $entradas_por_pagina_bucle_actual;
Espero que os haya gustado la entrada, dudas y errores que tengáis, los vemos en los comentarios.Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.
RedSys aparte de los pagos normales, llamados autorizaciones, acepta una variedad de operaciones: desde autorizaciones…
WooCommerce permite ordenar los productos de una forma nativa, para poder presentar primero los que…
Cada vez que hay una actualización grande del núcleo WordPress, por defecto WordPress te instala…
Una pantalla LCD es una pantalla delgada y hecha de cristal líquido. Se usa en…
De todos los plugins que existen para Gravity Forms, que son numerosos porque la propia…
Un CMS, como WordPress, facilita la creación y gestión de contenido en la web, sin…