Домой Каталог: Дополнения WP-Recall Freelance NextGen Нет уведомлений о переписке в рабочей зоне
6ответ(ов) в теме
smart77
не в сети 2 дня
На сайте с 30.04.2025
Участник
Тем 1
Сообщения 4
1
18:51
Версия WP-Recall: 16.26.14
Версия дополнения: 1.9.3

Нет уведомлений на почте при появлении новых сообщений в рабочей зоне, также разместил этот код functions.php. Не работает

add_action( 'rcl_chat_add_message', 'rcl_notify_task_about_chat_message', 10 );
function rcl_notify_task_about_chat_message( $messageData ) {
	global $user_ID, $wpdb;

	if ( ! isset( $_POST['fng-task'] ) )
		return false;

	$taskId = $_POST['fng-task'];

	$task = get_post( $taskId );

	$performer = get_post_meta( $taskId, 'fng-task', 1 );

	$users = array( $performer, $task->post_author );

	$activeUsers = $wpdb->get_col( "SELECT user_id FROM " . RCL_PREF . "chat_users WHERE chat_id='" . $messageData['chat_id'] . "' AND user_activity >= ('" . current_time( 'mysql' ) . "' - interval 1 minute)" );

	foreach ( $users as $userId ) {

		if ( in_array( $userId, $activeUsers ) )
			continue;

		$args = array(
		'user_id'		 => $userId,
		'notice_subject' => 'Новое сообщение в рабочей области',
		'notice_content' => 'В рабочей области задания <a>task_id ) . '">' . get_permalink( $request->task_id ) . '</a>  появилось новое сообщение.'
		);
	rcl_add_notification( $args );
		
	}
	
	return false;
}

0
smart77
не в сети 2 дня
На сайте с 30.04.2025
Участник
Тем 1
Сообщения 4
2
19:11

Хотя автору задание одно сообщение на почту приходит, а исполнителю ни одного(MAIL.RU)

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16992
3
20:20

пробуйте убрать это

if ( in_array( $userId, $activeUsers ) )
	continue;

0
smart77
не в сети 2 дня
На сайте с 30.04.2025
Участник
Тем 1
Сообщения 4
4
12:02

Андрей CS сказал(а)

if ( in_array( $userId, $activeUsers ) )
	continue;

Убрал, к сожалению не сработало

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16992
5
19:53

внесите изменение

$performer = get_post_meta( $taskId, 'fng-performer', 1 );

0
smart77
не в сети 2 дня
На сайте с 30.04.2025
Участник
Тем 1
Сообщения 4
6
12:37

Андрей CS сказал(а)
внесите изменение

$performer = get_post_meta( $taskId, 'fng-performer', 1 );

Теперь сработало, спасибо!

Рабочий вариант:

add_action( 'rcl_chat_add_message', 'rcl_notify_task_about_chat_message', 10 );
function rcl_notify_task_about_chat_message( $messageData ) {
	global $user_ID, $wpdb;

	if ( ! isset( $_POST['fng-task'] ) )
		return false;

	$taskId = $_POST['fng-task'];

	$task = get_post( $taskId );

	$performer = get_post_meta( $taskId, 'fng-performer', 1 );

	$users = array( $performer, $task->post_author );

	$activeUsers = $wpdb->get_col( "SELECT user_id FROM " . RCL_PREF . "chat_users WHERE chat_id='" . $messageData['chat_id'] . "' AND user_activity >= ('" . current_time( 'mysql' ) . "' - interval 1 minute)" );

	foreach ( $users as $userId ) {

		$args = array(
		'user_id'		 => $userId,
		'notice_subject' => 'Новое сообщение в рабочей области активного задания',
		'notice_content' => 'В рабочей области задания <a>task_id ) . '">' . get_permalink( $request->task_id ) . '</a>  появилось новое сообщение.'
		);
	rcl_add_notification( $args );
		
	}
		return false;
}

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