Проверка страницы "отдельного товара" и проверка "роли" для перенаправления
13 июн. 2017 г., 14:17:06
Просмотры: 113K
Голосов: 10
После долгих поисков в интернете, я не нашел работающего решения.
Знаете ли вы, как можно сделать это в WooCommerce:
Пока я пробую следующий код:
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/' );
} // если покупатель
else {
wp_redirect( 'https://www.mysite.fr/' );
} // иначе
}
} // функция cm_redirect_users_by_role
add_action( 'admin_init', 'cm_redirect_users_by_role' );
Но это не работает :/ когда я нахожусь на странице отдельного товара, перенаправление не происходит.

moikben
101
Все ответы на вопрос
1
1
Вот рабочий результат. Я добавил условие is_product()
для проверки, находится ли пользователь на странице отдельного товара.
И изменил в add_action()
: admin_init на 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 июн. 2017 г. 16:56:16
Похожие вопросы
3
ответов