Fragmentos reutilizables con Shorty (y recibe unos euros para el café)

¡Cuidao! WordPress autoalojado necesario

Para este tutorial necesitarás que tu blog esté alojado en alguna plataforma que te permita instalar plugins. El alojamiento gratuito en WordPress.com no lo permite. Para más información, en SiloCreativo explican muy bien las Diferencias entre WordPress.com y WordPress.org, y también las tienes en el propio WordPress.com en Com VS Org.


¿Para qué sirve Shorty?

Shorty es un plugin que funciona como gestor de shortcodes. Es decir, un gestor de trozos de contenido independientes que se insertan en los posts o páginas de tu blog mediante una palabra clave especial escrita entre corchetes.

Para instalarlo puedes hacerlo desde tu panel de plugins o yendo a la página del plugin Shorty en WordPress.org.

Permite a tus lectores invitarte a un café de forma sencilla (con ko-fi)

Últimamente empiezo a ver en algunos blogs unos curiosos botones para realizar micropagos a autores y generadores de contenido en general y, de esta manera, animarles o ayudarles a continuar con lo que hacen. 

Una de las plataformas que sirven para realizar esto es Ko-fi (una empresa partner de PayPal). Utilizarla es muy sencillo: tan solo necesitas una dirección de email y una cuenta de PayPal, configurar tu botón… y listo! Ya puedes empezar a recibir dinero de quien te lo done (en pequeñas cantidades de 3€ en este caso).

Al finalizar la configuración podrás obtener el código de tu botón pero… ¿Qué haces con ello? Hoy vamos a utilizar el plugin Shorty para facilitar un poco la tarea.

Crear un shortcode

Vamos a suponer que tenemos ya el plugin instalado. Abrimos su panel y le damos a «Add New» para añadir un código nuevo. Copiamos el código del botón que nos ha dado ko-fi y lo pegamos en el editor en modo HTML (importante). Si lo hacemos en el editor visual en el que escribimos normalmente, el código no funcionará.

El modo del editor se puede ver y cambiar arriba a la derecha de la caja de edición:

Le damos a publicar como si de un post normal se tratara (aunque no se va a publicar nada, tranquilos) y volvemos a nuestra lista de shortcodes en la opción del menú «Shorty».

Añadir el shortcode a los posts (o páginas)

En la lista de Shorty ahora podemos ver nuestro código recién creado. En la columna «shortcode» veremos el código abreviado entre corchetes que nos permitirá utilizar el código donde queramos. Lo copiamos.

Ahora abrimos el post donde queremos que se coloque nuestro botón, y lo pegamos. Mi código se llama «dame_cafeina», y lo usaré a continuación:

La ventaja de colocar así el código del botón es que, si en algún momento cambia, sólo tendremos que editarlo una vez en el gestor de shortcodes, y mágicamente aparecerá actualizado en todos los lugares donde se haya utilizado.

Ahora imaginad que creáis un código para este botón, y luego otro que contiene el formulario de suscripción a la newsletter, o incluso otro que contiene vuestra firma, un aviso genérico… ¡hay muchas posibilidades!

Un paso más allá: Añadir un fragmento automáticamente en todos los posts del blog

Imaginemos que tienes varios cientos de posts y te gustaría que tus lectores pudieran invitarte a café desde cualquier post sin necesidad de meter el shortcode en todos y cada uno de ellos. Estaría bien, ¿no?

Esta parte es un poco más delicada, pero WordPress está hecho para los valientes 😝.

Podríamos hacerlo de varias maneras, y no he encontrado ninguna que sea puramente de interfaz. La más limpia consiste en crear un pequeño plugin (¡muy fácil, que nadie se asuste!) que con pocas líneas de código haga posible añadir nuestro querido botón para financiar nuestra dosis de cafeína, o cualquier shortcode que tengamos definido con el proceso anterior.

Crear un plugin que añada nuestro shortcode

Para empezar, he decidido que voy a llamar a mi plugin «Delivery droid», ya que se va a encargar de entregar nuestros códigos por la Galaxia. Bueno, sólo por el blog pero ya me entendéis (?).

Siguiendo la guía del Codex de WordPress para la creación de plugins, hago lo siguiente:

Creo una carpeta llamada delivery-droid, y dentro un archivo «delivery-droid.php» con el siguiente contenido:

<?php
/*
Plugin Name: Delivery Droid
Plugin URI:  https://dispersion.es/shortcodes-reutilizables-shorty/
Description: Custom plugin for appending a shortcode to each post
Version:     20161218
Author:      Myddna
Author URI:  https://dispersion.es/
License:     GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: delivery-droid
Domain Path: /languages
*/

/**
 * This filter adds a shortcode after each post or page content (only in full page)
 * @param  string $content original post content
 * @return string          original post content followed by shortcode's content
 */
function delivery_droid_the_content_filter($content) {
	if(is_single()){
		$content .= do_shortcode('', $content);
	}
	return $content;
}

add_filter( 'the_content', 'delivery_droid_the_content_filter' );

Con esto, ya tenemos un plugin totalmente funcional que podemos subir a la carpeta wp-content/plugins/ de nuestra instalación de WordPress, y activarlo desde nuestro panel.

Por si lo prefieres, te dejo aquí el plugin listo para descargar y usar: delivery-droid

Preguntas que podrías hacerte

Mi botón sale más arriba-abajo que otra cosa que se añade también a cada post, y querría que el orden fuera diferente… ¿Cómo lo hago?

En la línea

add_filter( 'the_content', 'delivery_droid_the_content_filter' );

he obviado el tercer parámetro (que si no se pone nada, por defecto es 10). Cada filtro tiene un orden indicado por este parámetro. Podemos intentar jugar con ese valor subiéndolo o bajándolo hasta que esté en la posición que nos interese, por ejemplo:

add_filter( 'the_content', 'delivery_droid_the_content_filter', 9 );

¿Puedo añadir más de un shortcode?

Sí! Por ejemplo puedes poner varios seguidos en lugar de uno solo, así:

$content .= do_shortcode('[otro_shortcode_majo]', $content);

¿Más preguntas?

Puedes dejármelas en los comentarios de esta entrada o escribirme en la zona de preguntas y respuestas.

3 pensamientos sobre “Fragmentos reutilizables con Shorty (y recibe unos euros para el café)”

  1. Buenas!

    Como siempre, muy útil. Sobre la posibilidad de publicarlo en cada post, hay otra posibilidad. Con el plugin «Bottom of every post» tienes la posibilidad de crear una firma que se añada en todos los artículos por defecto.

    Se puede utilizar para insertar en dicha firma el fragmento sin problemas.

  2. Pingback: Cómo pasar del plugin de AdSense a QuickStart en WordPress ~ Dispersiones

Deja un comentario

You have to agree to the comment policy.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.