• 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.
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:
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:
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.
Si vamos a nuestro frontend y comprobamos desde la consola nuestro head, veremos los cambios realizados.
Métodos de validación de datos
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:
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:
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();
Esto me devolverá true, pues manzana está dentro del array.
Métodos de desinfección para la entrada de datos
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()
• sanitize_mime_type()
• sanitize_option()
• sanitize_sql_orderby()
• sanitize_text_field()
• sanitize_title()
• sanitize_title_for_query()
• sanitize_title_with_dashes()
• sanitize_user()
• esc_url_raw()
• wp_filter_post_kses()
• wp_filter_nohtml_kses()
Elimina todos los caracteres que no están permitidos en un correo electrónico.
sanitize_file_name( $filename )
Desinfecta un nombre de archivo, reemplazando espacios en blanco con guiones.
Descripción
Elimina caracteres especiales, que son ilegales en los nombres de archivo en ciertos sistemas operativos, y caracteres especiales, que requieren un escape especial para manipular en la línea de comando. Reemplaza espacios y guiones consecutivos con un solo guion. Recorta el período, el guion, y el subrayado, desde el principio y el final del nombre de archivo. No se garantiza que esta función devolverá un nombre de archivo que se puede cargar.
sanitize_html_class( $class, $fallback = ‘’ )
Desinfecta un nombre de clase HTML para garantizar que solo contenga caracteres válidos.
Desinfecta una clave de cadena.
Descripción
Las claves se usan como identificadores internos. Se permiten caracteres alfanuméricos en minúscula, guiones y guiones bajos.
sanitize_meta ( $meta_key, $meta_value, $object_type, $object_subtype = ‘’ )
Desinfecta el metavalor.
Parámetros
• $meta_key
( cadena ) (Obligatorio) Clave de metadatos.
• $meta_value
( mixto ) (Requerido) Valor de metadatos para desinfectar.
• $object_type
( cadena ) (Obligatorio) El tipo de metadatos del objeto es para. Acepta ‘publicación’, ‘comentario’, ‘término’, ‘usuario’ o cualquier otro tipo de objeto con una metatabla asociada.
• $object_subtype
( cadena ) (Opcional) El subtipo del tipo de objeto. Valor por defecto: ‘’
sanitize_mime_type( $mime_type )
Desinfecta un tipo mimo.
sanitize_option( $option, $value )
Desinfecta varios valores de opciones según la naturaleza de la opción.
Descripción
Esto es básicamente una declaración de cambio que pasará $value a través de una serie de funciones dependiendo de la $option.
Parámetros
• $option
• ( cadena ) (Obligatorio) El nombre de la opción.
• $value
• ( cadena ) (Obligatorio) El valor no desinfectado.
sanitize_sql_orderby ( $orderby )
Читать дальше