Plugins que rompen el theme en WordPress

Entrada 15 de 22 de la colección Trucos Blog. Consulta el índice al final de la entrada

Algunos de los plugins que muchos instalamos en nuestro WordPress obligan a modificar la plantilla o theme para colocar la “llamada” a dicho plugin allí donde queremos que aparezca. Es el caso de plugins como el Related Posts, MyAvatars, AdRotate y muchos más.

¿Os ha pasado alguna vez que tras una actualización del plugin, o alguna modificación que has hecho, éste ha dejado de funcionar? ¿Os rompe entonces la estructura del theme y no se carga bien la página a partir del punto de la llamada al plugin?

A mi sí, me sucedió algunas veces hasta que encontré la manera de evitar estas “rupturas”.

El motivo de la ruptura es que si WordPress detecta que un plugin tiene un mal funcionamiento lo desactiva automáticamente. Entonces, cuando algún usuario llega a tu blog Worpdress intenta (a través del theme) hacer una llamada a un plugin que está desactivado y como no lo encuentra rompe la página.

Solucionar este efecto es un truco muy sencillo que consiste en modificar un poco la forma en que se hace la llamada al plugin para que si éste está desactivado, WordPress no haga caso de ese plugin y siga cargando la página. El plugin no se mostrará, pero tampoco provocará ningún efecto extraño.

Consiste en añadir una condición a la llamada del plugin. Algo así como: si el plugin existe muéstralo, si no existe no hagas nada.

Como un ejemplo puede ser muy clarificador, a continuación teneis la llamada original para el Related Posts:

<?php wp23_related_posts(); ?>

y la llamada modificada añadiendo la condición:

<?php if(function_exists('wp23_related_posts')) { wp23_related_posts(); } ?>

Para el resto de plugins sería similar. Espero que lo encontréis útil.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies