Contador de páginas
A veces necesitamos contar el número de post, entradas o de cualquier otro tipo de contenido personalizado que posee nuestro sitio web. En este artículo vamos a explicar cómo crear un fragmento de código que crea un «shortcode» que luego podemos insertar en cualquier parte de nuestra web. ¡Vamos al lío!
El fragmento de código que encuentras debajo de este párrafo debes colocarlo, o bien al final del archivo function.php o bien en un plugin de funcionalidades que hayamos creado en nuestro sitio web. Esto último es lo más recomendable. Si no sabes cómo hacerlo puedes leer el artículo en el que se explica cómo crear tu propio plugin en WordPress.
// CREACIÓN DE UN SHORTCODE QUE CUENTE EL NÚMERO DE PÁGINAS DE NUESTRA WEB
function du_numero_paginas($paginas) {
$args = array(
'post_type' => 'page',
'post_status' => 'published',
'numberposts' => -1
);
return (count( get_posts( $args) ));
}
add_shortcode( 'numero_de_paginas', 'du_numero_paginas' );
El fragmento de código es bastante simple de interpretar, como ves se trata de registrar un código corto (shortcode) en WordPress, que nos cuenta el número de contenidos que cumplen varias condiciones: son del tipo página, están en modo «publicado». Si deseas más información puedes visitar la página de WordPress que explica la función get_posts() con todo lujo de detalles.
La función de WordPress add_shortcode(‘nombre_shortcode’ , ‘función_a_retornar’) que cuenta con dos parámetros. El primer parámetro es el nombre del shortcode, es decir, cuando necesitemos incluirlo en algún lugar lo haremos mediante el siguiente código: [nombre_shortcode]. El segundo parámetro, representa la función a la que se llama para, en este caso, contar las páginas.
Concretamente, el código anterior está pensado para que nos cuente páginas de nuestra web. Si colocamos en bloque de texto:
Esta web tiene 7 páginas.Nos aparecerá algo así como la siguiente línea:
Esta web tiene 7 páginas.
Que, como vemos, se ha sustituido el shortcode por el valor calculado en la función anterior.
Contador de entradas
Por defecto los tipos de contenidos de WordPress son «páginas» y «entradas». Hemos visto cómo contar páginas y ahora le toca el turno a las entradas. ¡Veamos cómo quedaría el fragmento de código!
// CREACIÓN DE UN SHORTCODE QUE CUENTE EL NÚMERO DE ENTRADAS DE NUESTRA WEB
function du_numero_entradas($entradas) {
$args = array(
'post_type' => 'post',
'post_status' => 'published',
'numberposts' => -1
);
return (count( get_posts( $args) ));
}
add_shortcode( 'numero_de_entradas', 'du_numero_entradas' );
En este caso el shortcode nos cuenta 97 entradas en este sitio web.
Contador de contenidos de un CPT específico
En el caso de que tengamos algún CPT (Custom Post Type) bastará con asignar a la variable post_type, del código anterior, el valor ‘nombre_del_cpt’. Si el cpt se llama «productos», el código podría quedar algo así:
// CREACIÓN DE UN SHORTCODE QUE CUENTE EL NÚMERO DE PRODUCTOS DE NUESTRA WEB
function du_numero_productos($productos) {
$args = array(
'post_type' => 'producto',
'post_status' => 'published',
'numberposts' => -1
);
return (count( get_posts( $args) ));
}
add_shortcode( 'numero_de_productos', 'du_numero_productos' );