4ответ(ов) в теме
shepot
не в сети 4 года
На сайте с 18.06.2018
Участник
Тем 12
Сообщения 34
1
12:54
Версия WP-Recall: 16.19.2

Здравствуйте.

Придется все-таки раскрыть побольше эту тему

Вы не можете просматривать опубликованные ссылки

Все хорошо и почти работает, но как-то странно работает rcl_get_user_balance($rcl_office) при переборе табов на хуке 'rcl_tab'.

add_filter('rcl_tab','tab_compare_companies');
function tab_compare_companies($data){
	global $rcl_office;

	var_dump(rcl_get_user_balance($rcl_office)); // ```1```

	if ( $user_ID == $rcl_office ) {
		if ( $data['id'] == 'current_balance' ) {	

			var_dump(rcl_get_user_balance($rcl_office)); // ```2```
		
			$data['output'] = 'counters';
			$data['counter'] = '<span class="current_balance">'.rcl_get_user_balance($rcl_office).'</span>';
		}
	}
	return $data;
}

Первый var_dump ( в коде ```1``` ) показывает int(0) int(0) string(500.00) - то есть отдает баланс правильно, согласно обработке каждой вкладочки, коих у меня три штуки. Но второй var_dump ( в коде ```2``` ) отдает int(0), хотя именно тут, судя по циклу и должно появлятся string(500.00).

Я понимаю, что это не предусмотрено, но, что как не счетчик баланса должен быть в области счетчиков?

Вопрос: как поймать баланс, ведь он почти уже у меня, только как песок сквозь пальцы?

Спасибо.

Редакции сообщения
28.07.2020 12:55StatusnickПричина: не указано
28.07.2020 12:56StatusnickПричина: не указано
28.07.2020 12:59StatusnickПричина: не указано
28.07.2020 13:01StatusnickПричина: не указано
0
Preci
не в сети 2 недели
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1644
2
13:48

В месте с counter'ами есть хук rcl_area_counters - с его помощью можно вывести там любой контент без регистрации вкладки, это на всякий случай.

У вас, во-первых, не объявлена $user_ID, т.е. global $rcl_office; надо заменить на global $rcl_office, $user_ID;

Ну и еще я не уверен что надо использовать $rcl_office, возможно лучше $user_LK; А может они дублируют друг друга, это Андрей лучше скажет

1
shepot
не в сети 4 года
На сайте с 18.06.2018
Участник
Тем 12
Сообщения 34
3
14:09

На самом деле я пробовал все global, когда запарился и искал в чем же подвох, просто здесь привел уж так как привел.
--
Также нашел такой вариант, который точно работает через $rcl_tabs:

	add_action('init', function() {
		global $user_LK, $rcl_tabs;
		$current_balance = (int)rcl_get_user_balance($user_LK);
		$rcl_tabs['current_balance']['counter']  = '<span class="current_balance">'.$current_balance.'</span>';
	});

--
За rcl_area_counters спасибо, посмотрю, что это и как работает. В списке сниппетов и в поиске по сайту не нашел его rcl_area_counters , а стоило бы добавить, наверное.

Редакции сообщения
28.07.2020 14:09StatusnickПричина: Привычка редактировать по 3 раза
0
Вова (Otshelnik-Fm)
не в сети 10 часов
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18652
4
14:40

Preci сказал(а)
Ну и еще я не уверен что надо использовать $rcl_office, возможно лучше $user_LK; А может они дублируют друг друга

опыт подсказывает что на ajax-е в области видимости есть $rcl_office, а $user_LK более проблемный в тех вещах. Лучше использовать $rcl_office

1
Вы не имеете права на публикацию сообщений в этой теме