Está muy bien eso de insertar contenido de webs externas indicando únicamente la url. Pero, ¿que pasa si queremos hacer lo mismo con los posts de WordPress?
El hecho de embeber se ha convertido en norma cuando alguien quiere insertar contenido externo en su web. En los posts de WordPress, insertar contenido de otros sitios como YouTube, Twitter y Soundcloud es muy sencillo gracias a la APi oEmbed. Simplemente, añades la url del contenido que quieres insertar en el post y, WordPress inmediatamente parsea el enlace y lo renderiza con un formato presentable.
Pero, ¿qué opinas de la idea de trasladar esta práctica a los posts de WordPress, de una forma similar a como se embeben los tuits o los vídeos de YouTube? El hecho de permitir a los visitantes de tu sitio que puedan embeber tus posts en sus sitios web, aumentará su compromiso con tu sitio y expandirá aún más tu audiencia.
El plugin GenerateWP oEmbed
Esta genuina idea aún se encuentra en proceso dentro del grupo de desarrollo de WordPress, quien quieren añadirla al core de WordPress en un futuro. Pero por ahora, podemos aplicar esto en nuestro blog con la ayuda de un plugin llamado GenerateWP oEmbed.
Para ello instalar el plugin, ve a la sección Plugins del backoffice de tu WordPress y selecciona la opción de Añadir Nuevo. En la página de Añadir Nuevo Plugin, busca el plugin que queremos instalar haciendo uso del campo de búsqueda que se sitúa en la parte superior derecha de la página. Teclea el nombre del plugin (que como te hemos indicado es «GenerateWP oEmbed») y presiona ENTER para iniciar la búsqueda. Si has seguido los pasos al pie de la letra, este plugin te debería aparecer como el primer resultado de la búsqueda. Instálalo y actívalo para poder utilizarlo.
Lo primero de todo, este plugin requiere que tengas instalada la versión 4.3 de WordPress como mínimo. Así que asegúrate de que tu WordPress está actualizado a la última versión antes de utilizarlo. Además, el sitio debe estar accesible online, de otro modo el embebido puede fallar.
Una vez que el plugin está activado, puedes copiar el permalink de un post y pegarlo en el contenido de otra web o en un post de tu propio WordPress. Así es como se verían los posts de WordPress embebidos.
Como véis, el contenido insertado está formateado excelentemente. Muestra el título del post, el excerpt, el nombre del sitio, el número de comentarios y botón de compartir el cual mostrará el permalink para embeberlo en otros sitios web. Y esto es esencialmente todo lo que tienes que hacer.
Si estás contento con la salida por defecto, puedes parar aquí. Pero si buscas un embebido más personalizado, te damos unos pequeños consejos que puedes aplicar.
Personalizando la salida
Una de las razones por las que este plugin requiere la última versión de WordPress es el favicon. La posibilidad nativa de añadir un favicon a través del backoffice fue introducida en la versión 4.3 de WordPress, pero esto no significa que el contenido insertado se mostrará con el icono de WordPress y el nombre de tu sitio web.
Para nosotros es irrelevante como nos venga el contenido de otros sitios web, lo que nos interesa es como se mostrará nuestro contenido en otros sitios web. Lo ideal es que en el embebido se muestre el logo de nuestra web y el nombre de la página, ¿verdad? Pues, para ello ve a la sección Apariencia > Personalizar > Identidad del sitio.
Sube el icono aquí y guarda los cambios. Verás el icono del sitio que acabas de subir en el contenido embebido. Así es como se mostraría.
Acciones y filtros
Las acciones y los filtros son dos métodos que utilizaremos para personalizar las salidas en WordPress. Por defecto, el plugin no proporciona acciones o filtros específicos que puedan ser agregados al CSS o al Javascript.
Sin embargo, proporciona la acción rest_oembed_output que podemos aprovechar para añadir nuevos contenidos como parte del resultado final, incluyendo un estilo. No es lo ideal, pero por lo menos, te permite anular los estilos del contenido embebido.
El siguiente código que puedes agregar a tu functions.php del theme de WordPress que estés utilizando actualmente, sirve para convertir la fuente a tipo serif.
function hkdc_oembed_output() { ?> <style> .wp-embed { font-family: serif !important; } </style> <?php } add_action( 'rest_oembed_output', 'hkdc_oembed_output', 11 );
Otro hook que podemos utilizar para personalizar la salida es el filtro rest_oembed_output_excerpt_length que permite poner un límite de palabras al excerpt de los posts de WordPress. La longitud por defecto es de 35 palabras. Así que, con este código, lo acortaremos a 28. Solo tienes que añadirlo al archivo functions.php de tu plantilla.
function hkdc_oembed_excerpt_length() { return 28; } add_filter( 'rest_oembed_output_excerpt_length', 'hkdc_oembed_excerpt_length', 9 );
Solo cambia el número del return según tus necesidades.
Y eso es todo. Con esto podrás insertar tus posts de WordPress en otros sitios webs y viceversa. Espero que te haya gustado el artículo y no olvides visitarnos para encontrar contenido similar.