Localización personalizada de botones inline del plugin Monarch

En Desarrollo, Webmasters por

Disponer de botones para compartir en las redes sociales es algo prácticamente necesario en los blogs de hoy en día y Monarch es un famoso plugin que nos facilita esta tarea. He decidido escribir este tutorial tras agregar los botones sociales con este plugin y comprobar que necesitaba una localización personalizada de botones inline del plugin Monarch.

plugin monarch wordpress

Monarch es un plugin de pago desarrollado por la compañía Elegant Themes y aunque hay otras alternativas gratuitas, me he inclinado por Monarch porque además de un buen diseño, los botones son responsive.

Como usar una localización personalizada de botones inline del plugin Monarch.

Por defecto, el plugin Monarch nos permite seleccionar únicamente tres localizaciones: encima del contenido de la entrada, debajo del contenido o en ambas a la vez. En muchos casos estas opciones de posicionamiento del código inline no son suficientes porque puede traer conflictos con banners de publicidad u otros plugins. Esto nos lleva a crear un pequeño código personalizado que nos permita colocar los botones donde queramos.

El plugin usa el patrón singleton, por lo que no podemos inicializar más de una estancia de la misma clase. Esta limitación se lleva a cabo para evitar un consumo de memoria descontrolado, pero nos puede dificultar la tarea a la hora de utilizar el código del plugin de forma personalizada.

He visto a un usuario de los foros de soporte WordPress que se encontró con el mismo problema, pero decidió solucionarlo editando directamente el propio código del plugin. Esto es una mala práctica, porque en cuanto actualicemos el plugin perderemos todas las modificaciones.

La solución pasa por adaptarse al patrón del singleton y llamar a la función que genera los botones inline de la siguiente forma:

<?php if (class_exists('ET_Monarch')) { echo ET_Monarch::get_this()->generate_inline_icons('et_social_inline_bottom'); } ?>

En mi caso, empleo este código en single.php, lo coloco dentro del contenedor correspondiente a los botones sociales, pero se podría ejecutar desde cualquier otro archivo del tema.

Aclarar que con este código no necesitamos activar el modo Inline en el apartado de Locations, ya que lo activamos nosotros de manera manual cuando se ejecuta el código, pero si debemos configurar el aspecto de los botones en el menú Inline.