Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aprovechando los roles y permisos

Aprovechando los roles y permisos

Aprovechando los roles y permisos

Transcript

  1. Aprovechando los roles y permisos César Aquino Maximiliano @cesjam7 -

    cesar.pe - Abril 2020.2 -
  2. César Jefferson Aquino Maximiliano Senior Developer (Orange612) PHP (WordPress, WooCommerce,

    Laravel, CodeIgniter) JS (NodeJS, Angular, IONIC) Twitter: @cesjam7 Web: cesar.pe
  3. ¿Qué son los roles? Los Roles o Perfiles son simplemente

    grupos que definimos para organizar los usuarios de nuestro sitio con funciones similares.
  4. ¿Qué son los roles? Los Roles o Perfiles son simplemente

    grupos que definimos para organizar los usuarios de nuestro sitio con funciones similares. Roles por defecto en WordPress - Super administrador - administrator - editor - author - contributor - subscriber
  5. ¿Qué son los roles? Los Roles o Perfiles son simplemente

    grupos que definimos para organizar los usuarios de nuestro sitio con funciones similares. Roles por defecto en WordPress - Super administrador - administrator - editor - author - contributor - subscriber Roles creados por WooCommerce - Customer - Shop Manager
  6. ¿Qué son las permisos? Los permisos o capacidades (capabilities) son

    acciones que se definen previamente para diferentes acciones dentro del sitio y que se asigna a los usuarios dependiendo su rol.
  7. ¿Qué son las permisos? Los permisos o capacidades (capabilities) son

    acciones que se definen previamente para diferentes acciones dentro del sitio y que se asigna a los usuarios dependiendo su rol. “Algunas capacidades” en WordPress - manage_options - install_plugins - upload_files - edit_post - read Capacidades agregadas con WooCommerce - manage_woocommerce - view_woocommerce_reports
  8. Fin.

  9. ¿Cómo sacarle más provecho? SPOILER: Viene códigos de programación. #avisadosEstan

    #preparaTé #mejorCafé
  10. Creando menú personalizados en el dashboard https://developer.wordpress.org/reference/functions/add_menu_page/ <?php function ccc7_register_my_custom_menu_page()

    { add_menu_page( __( 'Custom Menu Title', 'textdomain' ), 'custom menu', 'manage_options', 'myplugin/myplugin-admin.php', 'amazing_function', plugins_url( 'myplugin/images/icon.png' ), 6 ); } add_action('admin_menu', 'ccc7_register_my_custom_menu_page'); ?>
  11. Creando post types para un rol específico OJO: Debes agregar

    todos las capabilities “book” al rol que deseas https://developer.wordpress.org/reference/functions/register_post_type/ <?php function ccc7_register_book_cpt() { $args = [ 'public' => true, 'label' => 'Books', 'capability_type' => 'book' ]; register_post_type( 'book', $args ); } add_action( 'init', 'ccc7_register_book_cpt' ); ?>
  12. Mostrando opciones en el front para cierta capacidad https://codex.wordpress.org/current_user_can <?php

    if ( current_user_can( 'upload_files') ) { get_sidebar('files'); } else { get_sidebar(); } ?>
  13. Enviar a una página específica al iniciar sesión un rol

    específico https://codex.wordpress.org/Function_Reference/wp_get_current_user <?php $user = wp_get_current_user(); if ( in_array( 'subscriber', (array) $user->roles ) ) { wp_redirect(home_url('panel'); die(); } ?>
  14. Me quedé sin más ideas.

  15. ¿Y si creamos nuestros propios roles y capacidades? ¿Se podrá?

  16. ¿Y podemos crear nuestros propios roles y capacidades? Si, aún

    viene más código. Sigue whatsappeando.
  17. Registrar tu propio rol $result = add_role( 'cat', __('Gato' ),

    array( 'read' => true, 'edit_posts' => true, // Permite editar sus propios posts 'edit_pages' => true, // Permite editar páginas 'publish_posts' => true, // Permite publicar posts ) ); https://codex.wordpress.org/Function_Reference/add_role
  18. Agregar nuevas o capacidades ya existentes a roles global $wp_roles;

    $wp_roles->add_cap( 'cat', 'edit_info' ); // OR $role = get_role( 'cat' ); $role->add_cap( 'edit_info' ); https://codex.wordpress.org/Function_Reference/add_cap
  19. Quitar capacidades a roles global $wp_roles; $wp_roles->remove_cap( 'cat', 'read' );

    // OR $role = get_role( 'cat' ); $role->remove_cap( 'read' ); https://codex.wordpress.org/Function_Reference/remove_cap
  20. ¡Basta de código!

  21. ¡Basta de código! ¿No habrá un pluginsito por ahí?

  22. None
  23. El plugin hace todo por ti

  24. Si no te acuerdas como se llama el plugin...

  25. wp_gracias(); César Aquino Maximiliano Web: cesar.pe Email: hola@cesar.pe Twitter: @cesjam7

    Github: cesjam7 #QuedateEnCasa