Verifică dacă este o "pagină de produs" și verifică "rolul" pentru o Redirecționare

13 iun. 2017, 14:17:06
Vizualizări: 113K
Voturi: 10

După multe căutări pe internet, nu am găsit o soluție care să funcționeze.

Știți cum pot face asta în WooCommerce:

Momentan încerc următoarea variantă:

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/' );
        } // dacă
        else {
            wp_redirect( 'https://www.mysite.fr/' );
        } //
    }
} // cm_redirect_users_by_role
add_action( 'admin_init', 'cm_redirect_users_by_role' );

Dar nu funcționează :/ când sunt pe o pagină de produs individual, nu sunt redirecționat.

0
Toate răspunsurile la întrebare 1
1
16

Iată rezultatul funcțional, am adăugat condiția: is_product() pentru a verifica dacă este vorba de o pagină de produs individual. Și am modificat în add_action() : admin_init cu 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 iun. 2017 16:56:16
Comentarii

Bună, te rugăm să folosești același cont pentru postări, comentarii, răspunsuri etc.

Johansson Johansson
14 iun. 2017 02:54:01