Здравствуйте, у меня проблема с форумом Discourse по адресу https://community.over40connect.com/, который подключен к моему сайту https://over40connect.com/staging/ с помощью плагина WP Discourse. Я создал функцию для добавления пользователя в группу Discourse при смене его роли, но пользователь не добавляется в группу. Вот код:
function add_user_to_discourse_group_on_role_change($user_id, $role) {
// Проверьте, актуальна ли смена роли для вашего случая
// Например, вы можете захотеть выполнять это только если новая роль 's2member_level1'
//if ($role === 's2member_level1') {
// Установите конечную точку API Discourse
$discourse_endpoint = 'https://community.over40connect.com/groups/2/members.json';
// Подготовьте данные для отправки
$data = array(
'usernames' => array('haseebdeveloper'), // Имя пользователя WordPress, которого нужно добавить
);
// Выполните API-запрос
$response = wp_remote_post($discourse_endpoint, array(
'method' => 'POST',
'timeout' => 45,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(
'Content-Type' => 'application/json',
'Api-Key' => 'REDACTED', // Вставьте сюда ваш ключ API Discourse
),
'body' => json_encode($data),
'cookies' => array(),
));
// Проверьте наличие ошибок и обработайте ответ
if (!is_wp_error($response)) {
$response_code = wp_remote_retrieve_response_code($response);
if ($response_code === 200) {
$response_body = wp_remote_retrieve_body($response);
error_log('Ответ API Discourse: ' . $response_body); // Запишите ответ в лог
// Обработайте ответ по мере необходимости
} else {
error_log('Ошибка API Discourse: неожиданный код ответа - ' . $response_code); // Запишите ошибку в лог
// Обработайте ошибку
}
} else {
$error_message = $response->get_error_message();
error_log('Ошибка API Discourse: ' . $error_message); // Запишите ошибку в лог
// Обработайте ошибку
}
//}
}



