WordPress Hosting

Insertar entradas dentro de otras en WordPress

Ya vimos hace tiempo como incrustar una página WordPress dentro de otra, pero hoy vamos a rizar el rizo, creando un «shortcode» que, a voluntad y cuando lo necesitemos, nos permita insertar una entrada dentro de otra, o dentro de una página, lo que nos apetezca.

Dale que vamos … 

Lo primero que vamos a hacer es crear la función, para eso añadimos el siguiente código en nuestro plugin de funciones:

function aw_include_post($atts) {
	$thepostid = intval($atts[id]);
	$output = '';
	query_posts("p=$thepostid");
	if (have_posts()) : while (have_posts()) : the_post();
		$output .= get_the_content($post->ID);
	endwhile; else:
		// si falla no sale nada
	endif;
	wp_reset_query();

	return $output;
}

add_shortcode("incluir_entrada", "aw_include_post");

Guardamos los cambios y ya tenemos creado el shortcode, en este caso incluir_entrada. Para usarlo dentro de una entrada solo tenemos que saber el ID numérico de la entrada a insertar dentro de otra, algo fácil, pues solo tienes que fijarte en la URL de cualquier entrada que estés editando (algo como …/wp-admin/post.php?post=63441&action=edit, o sino también colocando el cursor sobre el enlace a cualquier entrada desde la ventana de navegación de entradas del Escritorio, que si te fijas en la barra de estado del navegador aparecerá, entre otros elementos del enlace, un número, que será el ID.

Ya sabiendo el ID de la entrada a incrustar la sintaxis para añadirla sería algo así:

[incluir_entrada id="2794"]

Donde el ID de la entrada a incluir es «2794», por supuesto. Y lo que mostrará será el contenido de la entrada con el ID 2794, ya sea incluido dentro de una entrada, una página, o incluso en un widget de tu barra lateral, tu decides.

Un uso muy chulo de este truco sería crear una entrada de «utilidad» con un texto que vayas a usar muchas veces en otras entradas. Para incluir ese texto (o lo que sea) repetitivo solo tendría que aprenderte el ID de la misma e incluirlo – gracias a este truco – rápidamente en cualquier entrada donde lo necesites.

Compartir en redes
Resumir con IA

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en las estrellas para valorarlo!

Promedio de puntuación 3.8 / 5. Total de votos: 11

¡Todavía no hay votos! Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación hace 3 años o más que no se actualiza. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te sirvió?, pues entonces nada :-)


Sobre el autor

10 comentarios en “Insertar entradas dentro de otras en WordPress”

  1. Luis Martínez

    Es un código que pienso usar ya que se parece a lo que entendemos por "include" pero deciros que si el Post que vamos a añadir contiene algún otro shortcode, os aparece como:
     [shortcode] texto[/shortcode]

    De todas formas genial… Gracias

  2. lo he probado, y el resultado es bastante defectuoso… se insertan codigos html en medio del texto del articulo insertado, se rompen estilos … en fin no lo recomiendo

      1. Hola fernando, me gustaria crear entradas en las diferentes paginas del menu y en las subpaginas.
        No entiendo bien como se hace lo de crear entradas desde enlaces personalizados,…saludos (soy novato en esto)

  3. david sanchez

    con esto puedes construir pies en un pagina e insertarlos en tu sitio ??

  4. Hola, este shortcode es lo mas cercano que encontre para insertar la fecha de creación y el autor de la entrada como la primera linea del cuerpo de la entrada por ejemplo:
    «Por Juan Flores el 01/01/2018. Acá comienza el texto del cuerpo de la entrada…»
    como puedo usar un shortcode para la fecha y el autor? gracias.

Los comentarios están cerrados.

Scroll al inicio