Un utente ha chiesto informazioni su Private groups di Wordpress

Assegna automaticamente un cliente Woocommerce al gruppo dopo l’acquisto

Un utente ha chiesto 👇

Tentativo di assegnare automaticamente un utente a un gruppo quando acquista un prodotto woocommerce.

Ho questo codice che ho ricevuto da Internet che cambia il ruolo dell’utente dopo che il cliente ha acquistato qualcosa su woocommerce. Come posso modificarlo in modo che a un gruppo venga assegnato automaticamente un cliente. Lo inserirò in functions.php

function change_role_on_purchase( $order_id ) {

    $order = new WC_Order( $order_id );
    $items = $order->get_items();

    foreach ( $items as $item ) {
        $product_name = $item['name'];
        $product_id = $item['product_id'];
        $product_variation_id = $item['variation_id'];

        if ( $order->user_id > 0 && $product_id == '416' ) {
            update_user_meta( $order->user_id, 'paying_customer', 1 );
            $user = new WP_User( $order->user_id );

            // Remove role
            $user->remove_role( 'subscriber' ); 

            // Add role
            $user->add_role( 'premium' );
        }
    }
}

add_action( 'woocommerce_order_status_processing', 'change_role_on_purchase' );

Lanciatore di thread

(@pyoil)

1 anno, 7 mesi fa

L’avevo capito. Ecco il codice impostato di seguito che ho dovuto inserire nel mio file functions.php i gruppi verranno automaticamente assegnati a un utente se acquista un prodotto Woocommerce. Ciò fornisce l’accesso al forum privato self-service.

function change_privategroup_on_purchase( $order_id ) {

    $order = new WC_Order( $order_id );
    $items = $order->get_items();

    foreach ( $items as $item ) {
        $product_name = $item['name'];
        $product_id = $item['product_id'];
        $product_variation_id = $item['variation_id'];

        if ( $order->user_id > 0 ) {

                  // Insert the Product IDs Here. If Multiple Products seperate by ||
		  if ( $product_id == '7026' || $product_id == '7027' || $product_id == '7028' || $product_id == '7029') {

                      // Mention the group number below. Here it is group1.
                      update_user_meta( $order->user_id, 'private_group', 'group1');

		  }
        }
    }
}

add_action( 'woocommerce_order_status_processing', 'change_privategroup_on_purchase' );

Grazie per aver creato questo elegante plugin per bbPress. Pagare per un plug-in di abbonamento premium come Woocommerce Membership non aveva senso.

Questa risposta è stata modificata 1 anno, 7 mesi fa. Autore del plugin

(@ robin-w)

1 anno, 7 mesi fa

Ehi fantastico, sono contento che tu abbia capito e grazie per aver pubblicato la soluzione che aiuterà gli altri !!

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *