• Saltar a la navegación principal
  • Saltar al contenido principal
Código Genesis

Código Genesis

Tutoriales de WordPress y Genesis Framework

  • Empieza aquí
  • Cuenta
    • Suscripción
    • Perfil
    • Actualizar tarjeta
    • Favoritos
    • Salir
  • Suscribirse
  • Acceder

Limitar la subida de imágenes a una determinada relación de aspecto en WordPress

Descubre en este tutorial cómo conseguir que un determinado rol usuario solo pueda subir imágenes con la relación de aspecto concreta gracias a un simple snippet de código.

Si gestionas una web en la que los usuarios/suscriptores puede subir sus imágenes de perfil es posible que te hayas encontrado con el problema de que cada imagen tiene una relación de aspecto distinta (cuadradas, rectangulares…) y cuando se muestran los perfiles dan una sensación demasiado heterogénea.

Una forma de conseguir que el diseño quede más homogéneo y ordenado es obligar a los usuarios a subir imágenes con la misma relación de aspecto (por ejemplo, que todas sean cuadradas).

Esto lo puedes conseguir con un poco de código que revise los atributos de la imagen cuando el usuario la esté subiendo.

Vamos a ver un ejemplo de cómo conseguirlo.

Snippet para limitar la subida de imágenes a una determinada relación de aspecto

Añade el siguiente fragmento al final del fichero functions.php o plugin de funcionalidades:

Para ver este código y los otros 1921 snippets de esta web,
identifícate o suscríbete aquí.

En este código utilizas el filtro wp_handle_upload_prefilter en conjunción con la función current_user_can para, que si el usuario no es administrador, solo pueda subir imágenes cuadradas.

Es decir, si el usuario intenta subir una imagen que no tiene una relación de aspecto 1:1 (cuadrada) recibirá un error.

Mensaje de error que se mostrará si intentan subir una imagen que no sea cuadrada

En cambio, los usuarios que tengan rol de administrador podrán seguir subiendo cualquier tipo de imagen a WordPress.

Esto es solo un ejemplo, puedes personalizarlo para que afecte a distintos roles de usuario y/o usar otras relaciones de aspecto.

Conclusión

Ahora ya sabes cómo conseguir que un determinado rol usuario solo pueda subir imágenes con la relación de aspecto que necesites para mantener una coherencia visual (por ejemplo).

¿Alguna duda? Te leo en los comentarios.

Y si quieres darme una sugerencia para próximos tutoriales, déjamela en el formulario de contacto. Ventajas de ser suscriptor. 😉

PHP WordPress

Nahuai Badiola

Desarrollador web especializado en WordPress y Genesis Framework. CEO de Código Genesis y cofundador de OsomPress (temas y plugins para WordPress).

Para dejar dudas o preguntas sobre este código, puedes identificarte o suscribirte.

  • Empieza aquí
  • Sobre Código Genesis
  • Preguntas frecuentes
  • Contacto

Aviso legal · Política de privacidad · Política de cookies · Condiciones de contratación
Copyright © 2023 · Código Genesis

¿Has olvidado tu contraseña?