• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Themes / Mostrar contenido aleatorio en WordPress

Mostrar contenido aleatorio en WordPress

[ 9 febrero 2024 ] [ Autor: Jhon Marreros Guzmán ][ Themes - Intermedio] [ ]

mejoras

Suscríbete a DecodeCMS:  

En este artículo veremos como crear un Shortcode para mostrar entradas, páginas, o cualquier otro tipo de contenido de manera aleatoria en WordPress.

 

Resultado Final

Al final queremos obtener algo similar a lo que se muestra en la siguiente imagen:

Entradas aleatorias resultado final

 

Código para crear Shortcode de contenido aleatorio

El siguiente código crea un Shortcode con parámetros para mostrar diferentes tipos de contenido de manera aleatoria.

El nombre del Shortcode es [dcms-random-content] y los parámetros que podemos usar son:

  • title: Título que aparecerá sobre la lista
  • post_type: Tipo de contenido, como: posts, page, product, etc. por defecto es posts
  • qty: Cantidad de elementos a mostrar, por defecto es 4

 

function dcms_random_content($atts) { 

	$default_atts = ['qty' => '4', 'post_type' => 'post', 'title' => ''];
	$atts 	= shortcode_atts($default_atts, $atts, 'dcms-random-content' );

	$args = [
		'post_type' => $atts['post_type'],
		'posts_per_page' => (int)$atts['qty'],
		'orderby'   => 'rand',
		'post_status' => 'published'
	];

	$query = new WP_Query( $args );
	  
	$string = '';

	if ( $query->have_posts() ) {	  
		if ( $atts['title'] ){
			$string = '<h3>'.$atts['title'].'</h3>';
		}

		$string .= '<ul class="rand-content">';
			while ( $query->have_posts() ) {
				$query->the_post();
				$string .= '<li>➜ <a href="'. get_permalink() .'">'. get_the_title() .'</a></li>';
			}
		$string .= '</ul>';
		wp_reset_postdata();
	}
	  
	return $string;
} 
	
add_shortcode('dcms-random-content','dcms_random_content');
Puedes agregar el código anterior como parte del archivo functions.php de tu tema hijo o usando algún plugin de snippets.

 
En el código anterior:

  • Creamos el shortcode llamado dcms-random-content, que hace referencia a la función dcms_random_content
  • El Shortcode tendrá atributos, por lo que definiremos sus valores por defecto en la variable $default_atts
  • También hacemos uso de la función shortcode_atts() para establecer los valores por defecto
  • Usaremos la clase WP_Query() para obtener los datos pasando diferentes argumentos y establecido por los atributos
  • Todo se ira concatenando en la variable $string
  • Comprobamos si la consulta devuelve valores, establecemos el título en caso exista como atributo
  • Creamos una lista HTML con los valores devueltos por la consulta, cada vez que el while se ejecuta vamos concatenando elementos y usando las funciones de WordPress para mover el puntero y obtener los datos
  • Al final del bucle reseteamos la consulta con la función wp_reset_postdata()
  • Finalmente retornamos la variable $string

 

Uso del Shortcode

Se puede usar el Shortcode como parte del contenido de alguna página o entrada, también como un Widget de Shortcode.

Para mostrar entradas, que es lo que muestra por defecto podemos usar algo similar a la siguiente imagen:

Entradas aleatorias shortcode

 
Para mostrar otro tipo de contenido usamos el parámetro post_type, por ejemplo para mostrar productos:

productos aleatorios shortcode

 

Conclusión

Como has podido comprobar puedes mostrar cualquier tipo de contenido usando las funciones de WordPress, en este caso lo hemos realizado a través de la creación de un Shortcode que nos facilitará la configuración de que tipo de contenido, la cantidad y el título a mostrar.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Quitar el menú de WooComerce en la administración de WordPress para ciertos usuariosQuitar el menú de WooComerce en la administración de WordPress para ciertos usuarios
  • Eliminar automáticamente las imágenes al borrar una entradaEliminar automáticamente las imágenes al borrar una entrada
  • Ocultar precios de productos a usuarios visitantesOcultar precios de productos a visitantes en WooCommerce
  • Deshabilitar Información de Usuarios de la REST API de WordPressDeshabilitar Información de Usuarios de la REST API de WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (2 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Agregar campos adicionales al perfil de usuario

Cómo usar la cache de objetos en WordPress

Herramienta de Salud del Sitio en WordPress

Categoría padre en las clases del body de un producto de WooCommerce

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados