Soporte » WordPress Avanzado » Cambiar Roles de usuario de WordPress segun su acción

  • Resuelto beltza92

    (@beltza92)


    En mi proyecto quiero hacer alguna función que no se si se podrá hacer.

    Tengo 4 tipos de usuarios:

    Usuarios ( es el usuario que se registra)
    MANDATARIO / PROPIETARIO ( usuario que ha aceptado un contrato nuestro) a este rol solo se llega habiendo aceptado el contrao y habiendo subido un producto al wordpress
    ASESOR ( es un usuario que ha registrado a una persona nueva)
    ASESOR MANDATARIO / PROPIETARIO (es un usuario que ha hecho las dos cosas anteriores ha registrado a un usuario nuevo y a firmado el contrato y a subido un producto)
    Pues lo que quiero hacer es?

    una vez que se registra un nuevo usuario que siempre sea por defecto el rol usuario que esto ya esta realizado.

    una vez que este usuario a subido un producto a la web este usuario se convierte en mandatario/propietario, esta pase de rol me gustaría hacerlo automáticamente ya que habrá muchísimas gente registrada, este cambio de rol lo haría para todos los roles.

    Me podéis decir como podría hacerlo ya que no se por donde empezar

Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
  • Moderador almendron

    (@almendron)

    Tal vez pueda servirte https://wordpress.org/plugins/user-role-editor/

    Y si manejas código, puedes empezar echando un vistazo a https://codex.wordpress.org/Function_Reference/add_role
    Después debería poner un condicional para que, en función de la acción, cambie el rol (puedes primero quitarlo y seguidamente asignarle otro distinto)

    Gracias por compartir tu opinión.

    WL plugin de roles lo estoy utilizando y creo que es el mismo que has pasado.

    Lo que me falta es saber como hacer el condicional para el tema de subir productos y si ha referido a alguien o no, eso son los problemas que tengo, tengo nociones de programación como el if y demás pero el como hacer si el usuario a subido un producto quitamos el rol de ese usuario y le asignamos otro rol. Ese paso es el que me falta.

    Espero que me puedas ayudar.

    Moderador almendron

    (@almendron)

    Para que un usuario acepte un contrato vuestro habrás diseñado un código que permita esa acción. Es en ese código donde debes poner el condicional:

    Si «se acepta el contrato», entonces «cambio de rol».

    • Esta respuesta fue modificada hace 3 años, 1 mes por almendron.

    vale, cierto, lo del contrato es solo subir un producto que ya lo tengo controlado mediante unas consultas sql para saber que id de autores tiene producto.

    como seria el codigo para cambiar ese rol de usuario a mandatario ya que esto he de insertarlo en la BBDD para que cambie. y por lo que veo esto esta en la item wp_capabilities

    Ya esta solucionado. esta es la consulta que hay que hacer.

    $query3 =»UPDATE wp_usermeta SET meta_value=’a:1:{s:6:»‘vendor'»;b:1;}’ WHERE user_id='».$fila1[$i].»‘ AND meta_key=’wp_capabilities'»;
    $results3 = mysqli_query($conn,$query3) or die(‘ok’);

    Moderador almendron

    (@almendron)

    Pues genial. Doy por resuelto el hilo.

    PD. No he podido ser más concreto en la ayuda porque no sabía cómo contorlabas las condiciones. No sabía por ejemplo, que utilizabas una consulta SQL en lugar de las funciones propias de WP.

Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
  • El debate ‘Cambiar Roles de usuario de WordPress segun su acción’ está cerrado a nuevas respuestas.