Домой Каталог: Дополнения WP-Recall Partners System Настройка отображения страницы
38ответ(ов) в теме
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
1
02:25

Как запретить отображение страницы "Партнерская ссылка" для определенных ролей пользователя?

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
2
09:31

В этом руководстве решается примерная задача

Вы не можете просматривать опубликованные ссылки
0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
3
18:33

Cама строка уже есть в файле index.php личного кабинета и она такая $stat = '

Ваша партнерская ссылка: '.get_ref_url().'
';
как показывать значение .get_ref_url(). только группе пользователей "Unlimited" ?

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16918
4
18:37

вам дали выше ссылку на руководство, вот его и используйте. Примерно получится так

add_filter('tab_data_rcl','edit_partners_tab_data');
function edit_partners_tab_data($data){
    if($data['id']!='partners') return $data;
    //тут проверка роли пользователя
	//если для этой роли вкладку показываем, то return $data
    //иначе return false;
}

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
5
21:12

Если так:
add_filter('tab_data_rcl','edit_partners_tab_data');
function edit_profile_tab_data($data){
if($data['id']!='businessman') return $data;
if ($data['id']!='vip') return $data;
return false;
то не работает. Вроде по инструкции сделал.

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16918
6
21:25

из приведенного кода неясно, что вы делали и по какой инструкции.
Смотрите внимательнее приведенный мной код и добавляйте в нужное место проверку на роль текущего пользователя.
Как получить роль пользователя

Вы не можете просматривать опубликованные ссылки
0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
7
22:16

Когда в таком виде создал то не ругается на ошибки но все равно результат тот же:
function poluchit_rol_tecushego_polzovatelya() {
global $current_user;
$rol_polzovatelya = $current_user->roles[0];
return $rol_polzovatelya;
}

add_filter('tab_data_rcl','edit_partners_tab_data');
function edit_partners_tab_data($data){
if($data['id']!='partners') return $data;
if($rol_polzovatelya['id']!='businessman') return $data;
return false;
}

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
8
22:25

А функцию poluchit_rol_tecushego_polzovatelya вы нигде не используете?

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16918
9
22:27

Вы вообще сами понимаете, что происходит в коде который вы привели?
Так будет более верно:

function get_wp_user_role() {
	global $current_user;
	return $current_user->roles[0];
}
add_filter('tab_data_rcl','edit_partners_tab_data');
function edit_partners_tab_data($data){
	//тут пишем название роли для которой вкладка показывается
	if(get_wp_user_role()=='businessman') return $data;
	return false;
}

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
10
22:34

Так ругается на ошибки

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
11
22:42

Давайте конкретней. Текст ошибки?

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
12
22:43

Fatal error: Can't use function return value in write context in /home/u411089459/public_html/electriccar/wp-recall/add-on/partners-system/index.php on line 55

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16918
13
22:53

значит делаем так

function get_wp_user_role() {
	global $current_user;
	return $current_user->roles[0];
}
add_filter('tab_data_rcl','edit_partners_tab_data');
function edit_partners_tab_data($data){
	//тут пишем название роли для которой вкладка показывается
	if(get_wp_user_role()=='businessman') return $data;	
	 $data['args']['public'] = 0;
	return $data;
}

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
14
23:03

Ошибки нет но ссылку все равно показывает

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
15
23:04

Покажу то что есть в файле

function get_wp_user_role() {
global $current_user;
return $current_user->roles[0];
}

add_filter('tab_data_rcl','edit_partners_tab_data');
function edit_partners_tab_data($data){
if(get_wp_user_role()=='businessman') return $data;
$data['args']['public'] = 0;
return $data;
}

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16918
16
23:24

Я проанализировал код плагина и пришел к мнению, что для того, чтобы грамотно, без костылей скрыть одну из вкладок личного кабинета от всех необходимо доработать код самого ядра.
Делаете вот, что:
1. открываете файл плагинаwp-recall/rcl-functions.php, на строке 24, найдете функцию rcl_tab(), внутри нее, сразу после

if($name) $data = apply_filters('tab_data_rcl',$data);

добавляете

if(!$data) return false;

2. после этого добавляете код, уже в файл функций своего шаблона, вместо того, что добавляли ранее:

function get_wp_user_role() {
    global $current_user;
    return $current_user->roles[0];
}
add_filter('tab_data_rcl','edit_partners_tab_data');
function edit_partners_tab_data($data){
    if($data['id'] != 'partners') return $data;
    //тут пишем название роли для которой вкладка показывается
    if(get_wp_user_role()=='businessman') return $data;	
    return false;
}

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
17
23:54

Убралась полностью страница "Ты партнер" Но все остальное в личном кабинете есть.

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
18
07:40

Переустанавливал полностью вордпресс потому что залагал. И на чистом все попробовал сделать (последнее) опять и теперь пишет :
Fatal error: Uncaught Error: Function name must be a string in /home/u411089459/public_html/wp-content/plugins/wp-recall/functions/rcl_tabs.php:177 Stack trace: #0 /home/u411089459/public_html/wp-content/plugins/wp-recall/functions/rcl_tabs.php(87): rcl_callback_tab_func(NULL, 2) #1 /home/u411089459/public_html/wp-includes/plugin.php(235): Rcl_Tabs->add_tab('', 2) #2 /home/u411089459/public_html/wp-content/plugins/wp-recall/functions/rcl-frontend.php(207): apply_filters('the_block_wprec...', '', 2) #3 /home/u411089459/public_html/wp-content/plugins/wp-recall/templates/cabinet.php(44): rcl_tabs() #4 /home/u411089459/public_html/wp-content/plugins/wp-recall/rcl-functions.php(104): include('/home/u41108945...') #5 /home/u411089459/public_html/wp-content/plugins/wp-recall/wp-recall.php(337): rcl_include_template('cabinet.php') #6 /home/u411089459/public_html/wp-content/plugins/wp-recall/functions/shortcodes.php(214): wp_recall() #7 /home/u411089459/public_html/wp-includes/shortcodes.php(326): rcl_get_shortcode_wp_recall('', ' in /home/u411089459/public_html/wp-content/plugins/wp-recall/functions/rcl_tabs.php on line 177

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
19
08:01

Предлагаю подумать, чтобы условия прописать в самом значении ф-ции get_ref_url() если это реально

Для начала в файле функции шаблона я добавил :
function get_wp_user_role() {
global $current_user;
return $current_user->roles[0];
}
Теперь нужно сделать чтобы get_ref_url() показывался только для роли "businessman", а в идеале если не указанная роль то писалось "Доступа для просмотра нет"
Подскажите, где прописаны условия функции get_ref_url() ?

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
20
09:55

Переустанавливал полностью вордпресс потому что залагал. И на чистом все попробовал сделать (последнее) опять и теперь пишет :
Fatal error: Uncaught Error: Function name must be a string in /

какую версию реколл ставили?

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
21
11:00

скачанную раньше при покупке, но она обновилась потом

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
22
11:01

Просто номер версии можно?

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
23
11:05

Версия 14.2.11

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
24
11:10

ок. А когда обновили реколл совет из 16 комментария вновь сделали?

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
25
11:19

Да. Получилась ошибка в 18 написал

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
26
14:24

Обновил рекал и работает путем убирания не самой рефссылки а вообще меню "Ты партнер" но в идеале нужно чтобы оно все таки осталось, потому что менеджер он партнер, но с ограниченным функционалом, без возможности построения сети партнеров.

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18653
27
14:31

Вы уж определитесь, то вы так ставите задачу, то наоборот.

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
28
14:31

Конечно если клиентом регистрация то тогда не нужно партнерка. Поэтому было бы круче если бы и такая возможность была задействовано в партнерке

0
Игорь Флянку
не в сети 4 года
На сайте с 02.05.2016
Участник
Тем 43
Сообщения 218
29
14:32

А я сначала писал что нужно только спрятать рефссылку

0
Андрей CS
не в сети 4 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16918
30
14:39

значит открывайте файл index.php дополнения, находите функцию get_statistics_ps()
и прописывайте условие для показа строки только нужной роли пользователя

$stat = '<p class="aligncenter">Ваша партнерская ссылка: '.get_ref_url().'</p>';

0
Тема закрыта. Публикация новых сообщений запрещена.