Soporte » Plugins y Hacks » WooCommerce » Asignar rol a página al comprar

  • Hola,
    Necesito una funcionalidad consistente en asignar un rol de usuario a una determinada página cuando se realiza una compra. Las páginas estaría restringidas por esos roles y al realizar la compra con woocommerce debería asignar al usuario que ha realizado dicha compra el un rol relacionado con el producto comprado, con lo cual el usuario ya tendría acceso al rol. He visto algún plugin de la propia empresa, que ofrece muchas funciones, pero el precio es desmesurado cuando yo solo necesito esa función en concreto. Por favor ¿Alguién puede sugerirme alguna función o algún plugin más asequible que permita lo que quiero?

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Hola @luisdobleglez

    La mejor opción siempre es utilizar el plugin de la empresa ya que ofrece funcionalidades y soporte. Además incluso te lo podrían instalar.

    Si no la opción tendría relación de la siguiente manera:
    En las páginas donde quieres chequear el rol utilizar algún snippet del estilo:

    <?php 
    $user = wp_get_current_user();
    if ( in_array( 'rolquetieneacceso', (array) $user->roles ) ) {
        //The user has the "author" role
    } ?>

    Y entonces al realizar la compra utilizar el hook de woocommerce_thankyou o payment_complete
    En ese hook utilizar el ID del usuario que ha utilizado para hacer la compra y añadirle el rol mediante la siguiente función:
    https://developer.wordpress.org/reference/classes/wp_user/add_role/

    Aquí te dejo la información de la clase WP_User para que lo entienda todo:

    Home

    Salut!

    Iniciador del debate luisdobleglez

    (@luisdobleglez)

    Muchas gracias @adriandegrafreak. Voy a intentarlo.

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • El debate ‘Asignar rol a página al comprar’ está cerrado a nuevas respuestas.