Estamos viendo movimientos de la comunidad protegiendo el uso de sus plugins o temas de su uso bajo WordPress.com, recordemos, la parte lucrativa de WordPress. Por eso, en ciertas ocasiones, como desarrollador que dedica un tiempo y esfuerzo en el desarrollo de plugins o temas, puedes querer restringir el uso de tu trabajo en algunas plataformas específicas. Robert DeVore ha dado con una solución práctica para evitar que tus plugins y temas sean utilizados en sitios alojados en WordPress.com sin tu consentimiento.
Veamos unos pasos rápidos:
- Identificar la plataforma: WordPress.com proporciona una constante específica
WPCOM_IS_VIP_ENV
que indica si el entorno es parte de su infraestructura VIP . Usando esta constante, puedes agregar una verificación al código de tu plugin o tema. - Bloquear la ejecución: Con un simple fragmento de código en PHP, puedes detener la ejecución de tu plugin o tema si se detecta que se encuentra en un entorno de WordPress.com. Un ejemplo básico sería:
if ( defined( 'WPCOM_IS_VIP_ENV' ) && WPCOM_IS_VIP_ENV ) { exit( 'Este plugin/tema no está permitido en WordPress.com.' ); }
- Añadir un mensaje claro: Informar al usuario del motivo de la restricción es clave para evitar confusiones y mantener la profesionalidad.
Esta medida puede proteger tu trabajo de ser utilizado en contextos no deseados, especialmente en plataformas donde no tienes control total sobre la distribución o implementación de tus desarrollos.
Si quieres ver el artículo original de Robert DeVore, puedes verlo aquí.
Cómo evitar que tus plugins y temas se usen en WordPress.com utilizando WPcom-check
A raiz de lo anteriormente explicado, existe una herramienta específica para lograrlo: WPcom-check, creada por el propio Robert DeVore.
¿Qué es WPcom-check?
WPcom-check es una utilidad simple y ligera que permite identificar si tu plugin o tema se ejecuta en un entorno de WordPress.com. Esto facilita tomar decisiones programáticas, como desactivar funciones o detener por completo la ejecución.
Cómo implementarlo
- Descarga WPcom-check: Descarga la biblioteca desde su repositorio oficial en GitHub.
- Integración en tu código: Incluye WPcom-check en tu proyecto. Por ejemplo, si es un plugin, podrías integrarlo así:
require_once 'ruta/a/wpcom-check.php'; if ( wpcom_is_hosted() ) { exit( 'Este plugin no está permitido en WordPress.com.' ); }
La función
wpcom_is_hosted()
verifica automáticamente si el entorno actual pertenece a WordPress.com. - Personalización del mensaje: Puedes personalizar el mensaje mostrado para informar a los usuarios del motivo de la restricción. Esto es especialmente útil para mantener una comunicación profesional y transparente.
Ventajas de usar WPcom-check
- Ligero y eficiente: La biblioteca está diseñada para ser mínima y no impactar el rendimiento de tu plugin o tema.
- Sencillez: Con solo una función wpcom_is_hosted(), puedes identificar el entorno.
- Control total: Te permite decidir cómo manejar tus desarrollos en entornos no deseados.
¿Necesitas un ejemplo práctico?
Un caso de uso podría ser bloquear la ejecución de un tema en WordPress.com:
require_once 'wpcom-check.php'; add_action( 'after_setup_theme', function() { if ( wpcom_is_hosted() ) { wp_die( 'Este tema no puede ser utilizado en WordPress.com.' ); } });
WPcom-check es una solución práctica y efectiva para proteger tus desarrollos en WordPress. Si buscas más información sobre esta herramienta y ejemplos de uso, consulta el repositorio oficial o el artículo de Robert DeVore citado anteriormente.