Práctica recomendada: compruebe si existe una función al agregar un tema de WordPress

La mejor parte de WordPress son los complementos. Los dise√Īadores de temas tambi√©n tienen la tendencia de usar complementos de WordPress para agregar caracter√≠sticas geniales. Al trabajar en un proyecto de tema de WordPress personalizado para un cliente, una cosa que debe asegurarse es seguir las mejores pr√°cticas. Ayer recibimos una consulta de uno de nuestros usuarios cuyo sitio no funcionaba. Ten√≠a un dise√Īo personalizado hecho por alguien. El tema funcion√≥ muy bien hasta que cambi√≥ de anfitri√≥n. Sus publicaciones individuales no se cargar√≠an despu√©s del contenido de la publicaci√≥n. El √°rea de comentarios, barra lateral, pie de p√°gina, no se cargar√° nada. Simplemente generar√° el error. Entramos y arreglamos el problema para ellos. El problema era que su dise√Īador tem√°tico no segu√≠a las mejores pr√°cticas. Ten√≠a un complemento muy popular “Foto de usuario” que le permite agregar la foto del usuario en la parte inferior de la publicaci√≥n, excepto que solo estaba agregando la funci√≥n directamente. Ahora esto funcionar√≠a a menos que, por supuesto, el complemento se desactive por alguna raz√≥n. Cuando este cliente cambi√≥ de host, aparentemente la Biblioteca GD no estaba instalada en el nuevo servidor. Esto hizo que el complemento se desactive. Tampoco pudo volver a activar el complemento porque se basa en la Biblioteca GD. Esto hizo que el sitio se rompiera para todos los usuarios. Obviamente, esto le da a ese dise√Īador de temas una mala reputaci√≥n porque cuando el cliente pregunt√≥ cu√°l era el problema, les explicamos. Si es un dise√Īador de temas que agrega salidas de complementos, siempre debe seguir las mejores pr√°cticas. Aqu√≠ hay algunos ejemplos de c√≥mo hacemos las cosas con nuestros clientes:

Para el popular plugin User Photo, lo tenemos así:

ID))
    userphoto($author->ID);
else
    echo get_avatar($author->ID);
?>

El c√≥digo anterior verifica dos cosas. Comprueba si existe la funci√≥n “userphoto” (b√°sicamente si el complemento est√° activo). La segunda verificaci√≥n es para ver si la foto del usuario existe para el autor espec√≠fico. Si ambas comprobaciones devuelven verdadero, entonces mostramos la foto del usuario. De lo contrario, simplemente lo tenemos mostrando el Gravatar del usuario.

Para otros complementos, para los cuales no tenemos un sustituto, siempre agregamos una peque√Īa nota. Por ejemplo, cuando agregamos la salida de OIO Publisher:

El código anterior básicamente ve si existe la función OIO Publisher Banner Zone (que lo hará a menos que el complemento esté desactivado). Si existe, generará el banner. Si no existe, muestra el texto para que el propietario del sitio sepa que este complemento se ha desactivado.

Si no agrega function_exists, su sitio devolver√° un error donde la funci√≥n falla. Los dise√Īadores de temas comienzan a hacer esto.