Comprobar si es una "página de producto individual" y verificar el "rol" para una redirección
13 jun 2017, 14:17:06
Vistas: 113K
Votos: 10
Después de mucha investigación en la red, no he encontrado una solución que funcione.
¿Sabes cómo puedo hacer esto en WooCommerce?
Por el momento estoy intentando esto:
function cm_redirect_users_by_role() {
$current_user = wp_get_current_user();
$role_name = $current_user->roles[0];
// Si es una página de productos y es un producto individual
if ( is_products_page() && is_single() ){
if ( $role_name === 'customer' ) {
wp_redirect( 'https://www.mysite.fr/shop/' );
} // si es cliente
else {
wp_redirect( 'https://www.mysite.fr/' );
} // si no es cliente
}
} // cm_redirect_users_by_role
add_action( 'admin_init', 'cm_redirect_users_by_role' );
Pero no funciona :/ cuando estoy en una página de producto individual, no me redirecciona.

moikben
101
Todas las respuestas a la pregunta
1
1
Aquí está el resultado que funciona, agregué la condición: is_product()
para verificar si es una página de producto individual.
Y cambié en el add_action()
: admin_init por 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' );

Moikben
163
13 jun 2017 16:56:16
Preguntas relacionadas
2
respuestas
4
respuestas
8
respuestas
3
respuestas