Jhon Jairo Rincón Cardona

El gran libro de desarrollo de plugins WordPress


Скачать книгу

Illustration

      Con esta función podemos borrar tablas, configuraciones y otras opciones.

      El segundo método requiere crear un archivo en la raíz de nuestro plugin, este archivo debe llamarse uninstall.php. Creamos el archivo y escribimos el siguiente código:

Illustration

      Este primer código es de seguridad y dice que, si no está definida esa constante, no siga ejecutando el código que vamos a escribir más abajo.

      Ahora vamos a crear una consulta sql para eliminar la tabla que hemos creado anteriormente.

Illustration

      Después de escribir este código, guardamos los cambios.

      Ahora vamos a comprobar que esto funciona y, para ello, vamos primero a crear una copia de nuestro plugin res_pruebas comprimiéndolo en un archivo .zip con winrar.

Illustration

      Después de crear el archivo res_pruebas.zip, volvemos a nuestro panel de administración, recargamos la página y desinstalamos el plugin res_pruebas. Ahora hacemos clic en Borrar.

Illustration

      Veremos que nos saldrá una ventana de confirmación y hacemos clic en Aceptar. Ahora, al volver a nuestra base de datos y recargar, podemos ver que la tabla atr_mitabla ha desaparecido.

      Para que no se creen conflictos entre nuestras funciones, clases y variables de WordPress, debemos definirlas de la siguiente manera:

      Comprobando que una variable no exista:

Illustration

      Comprobando que una función no exista:

Illustration

      Comprobando que una clase no exista:

Illustration

      Comprobando que una constante no está definida:

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

      •