Controlla se è una "pagina prodotto singolo" e verifica il "ruolo" per un Reindirizzamento

13 giu 2017, 14:17:06
Visualizzazioni: 113K
Voti: 10

Dopo molte ricerche in rete, non ho trovato una soluzione funzionante.

Sapete come posso fare questo su WooCommerce:

Al momento sto provando questo:

function cm_redirect_users_by_role() {

    $current_user   = wp_get_current_user();
    $role_name      = $current_user->roles[0];

    if ( is_products_page() && is_single() ){
        if ( $role_name === 'customer' ) {
            wp_redirect( 'https://www.mysite.fr/shop/' );
        } // se
        else {
            wp_redirect( 'https://www.mysite.fr/' );
        } //
    }
} // cm_redirect_users_by_role
add_action( 'admin_init', 'cm_redirect_users_by_role' );

Ma non funziona :/ quando sono su una pagina prodotto singolo, non vengo reindirizzato.

0
Tutte le risposte alla domanda 1
1
16

Ecco il risultato funzionante, ho inserito la condizione: is_product() per verificare se si tratta di una pagina prodotto singola. E ho modificato nel add_action() : admin_init con wp

function cm_redirect_users_by_role() {

    $current_user   = wp_get_current_user();
    $role_name      = $current_user->roles[0];

    if ( is_product() ){
        if ( $role_name !== 'customer' && $role_name !== 'shop_manager' && $role_name !== 'dc_vendor') {
            wp_redirect( 'https://www.mysite.fr/' );
        } // if
    }
} // cm_redirect_users_by_role
add_action( 'wp', 'cm_redirect_users_by_role' );
13 giu 2017 16:56:16
Commenti

Ciao, ti preghiamo di utilizzare lo stesso account per pubblicare, commentare, rispondere, ecc.

Johansson Johansson
14 giu 2017 02:54:01