El gran libro de desarrollo de plugins WordPress. Jhon Jairo Rincón Cardona
Чтение книги онлайн.

Читать онлайн книгу El gran libro de desarrollo de plugins WordPress - Jhon Jairo Rincón Cardona страница 7

Название: El gran libro de desarrollo de plugins WordPress

Автор: Jhon Jairo Rincón Cardona

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9788426734709

isbn:

СКАЧАТЬ Illustration

      Mostrar información de nuestro plugin según el rol que tenga la persona, is_admin();. Determina si la solicitud actual es para una página de interfaz administrativa. Para ver más acerca de esta función, podemos visitar la web oficial de WordPress developers.

       https://developer.wordpress.org/reference/functions/is_admin/

Illustration

      Las capacidades de usuario son las funciones que se pueden realizar dependiendo del rol que tenga la persona dentro de la web. Los roles que puede desempeñar una persona dentro de un proyecto web son:

      • Super Admin

      • Administrator

      • Editor

      • Author

      • Contributor

      • Subscriber

      A continuación, mostraremos como ejemplo algunas de las funciones que se pueden realizar con el rol de Super Admin:

      • create_sites

      • delete_sites

      • manage_network

      • manage_sites

      • manage_network_users

      • manage_network_plugins

      • manage_network_themes

      • manage_network_options

      • upload_plugins

      • upload_themes

      Son muchas más las funciones. Acto seguido, pondremos una tabla con las funciones y los roles que pueden desempeñar dichas funciones.

Illustration Illustration Illustration

      Para conceder el permiso a un usuario según su rol o mostrarle según qué funciones, podemos utilizar la siguiente función:

      current_user_can( string $capability, mixed $args )

      También podemos escribir un condicional para ejecutar alguna acción, por ejemplo:

Illustration

      Ahora crearemos un ejemplo, añadiremos una función donde aquel usuario con permisos para editar paginas podrá ver la modificación que añadiremos al head de nuestro WordPress:

Illustration

      Esta función nos puede dar un error Undefined function wp_get_current_user(). Este error se debe a que, durante el proceso de carga, WordPress carga primero todos los archivos y plugins, por último comprueba las capacidades de usuario, por eso nos marca el error de que no está definido.

      Para solventar este error, debemos crear una función con el gancho de acción ‘plugins_loaded’; así quedaría el código.

Illustration

      Si vamos a nuestro frontend y comprobamos desde la consola nuestro head, veremos los cambios realizados.

Illustration

      Existen varios métodos de validación de datos en WordPress. Entre los más utilizados podemos encontrar los siguientes:

      • is_email()

      • term_exists()

      • username_exists()

      • validate_file()

      Pondremos un ejemplo de cómo validar un email:

Illustration

      Al aplicar este código de validación, obviamente me devolverá que es correcto, pues el mail cumple con los requisitos, que son:

      • Nombre de usuario

      • Servidor

      • Sin olvidar el punto(.) y la arroba (@)

      Si quitásemos el punto y dejáramos: prueba@pruebaeu, me devolvería Email incorrecto. Vamos al frontend en la página de inicio y nos fijamos en la parte superior, y veremos el mensaje Email incorrecto:

Illustration

      Otras funciones para la validación de datos pueden ser funciones de php como:

      • isset() - empty()

      • mb_strlen() - strlen()

      • preg_match, strpos()

      • count()

      • in_array()

      Pondremos un ejemplo de cómo utilizar in_array();

Illustration

      Esto me devolverá true, pues manzana está dentro del array.

      Los métodos de sanitización de WordPress nos ayudan a eliminar caracteres extraños o maliciosos en nuestro envío y recepción de datos.

      Para ello, utilizaremos las funciones de sanitización de WordPress, que son las siguientes:

      • sanitize_email()

      • sanitize_file_name()

      • sanitize_html_class()

      • sanitize_key()

      • sanitize_meta()

      • СКАЧАТЬ