В идеале понятно дело нужно обойтись без кодинга и бесплатно, но и заплатить за готовый шаблон несколько десятков долларов не проблема.
Если честно, то вообще не хорошо обходиться без кодинга опираясь только на плагины, так как если что-то сломается, то исправить вы ее сами не сможете.
Если речь идет о нормальном сайте, то даже не задумываясь скажу - забейте на CMS и CMF. Пишите на фреймворках проект. Если любите рнр, то laravel, yii2, symfony и др. Если хотите на других языках, то:
play, spring, django, RoR и др.
А если речь идет о весьма бюджетном проекте, который должен кое как работать, то можно скомпоновать кучу плагинов и надеятся, что это все заработает.
какие группы есть для данного языка / данного уровня,
Создать 2 кастомные таксономии, которые будут представлять языки и уровни этих языков
https://wp-kama.ru/function/register_taxonomy
Можно при помощи плагина создать таксономии, если уж совсем не хотите кодить, но как по мне это странно... заниматься программированием и не кодить.
Плагин -
https://toolset.com/
Наберите в гугл
wordpress create taxonomy and post type plugin
. Найдете кучу плагинов
Далее создайте при помощи вышеуказанного плагина или любого другого плагина кастомный тип записи (CPT)
Для кодинга -
https://wp-kama.ru/function/register_post_type
Кастомный тип записи будет представлять ваши группы. И соответственно при добавлении группы вы указываете таксономию языка и уровня владения.
каково расписание групп
В качестве контента группы добавляете ваше расписание (таблицу).
Если нужен плагин - tablepress
https://wordpress.org/plugins/tablepress/
А если скрипт, то
https://datatables.net/
К слову, tablepress использует datatables
какова программа группы, где скачать материалы, сколько уже прошли, можно ли присоединиться
Это все добавляется в контент группы. Можно создать свой шаблон и красиво при помощи кастомных полей вывести ссылки на скачивание материалов и т.д. В общем, тут многое зависит от верстки.
Ну и чтобы пирсоединиться нужна контактная форма - плагин Contact form 7
https://ru.wordpress.org/plugins/contact-form-7/
Для кастомных полей, если вы не используете вышеуказанный Toolset, то лучше взять ACF Pro.
https://www.advancedcustomfields.com/
написать сообщение ведущему группы, написать в чат группы
Этот функционал можно по разному реализовать. Опять-таки если не вдаваться в подробности программирования, в сокеты и т.д. и если вашей целью является отказ от кодинга, то:
1) создать контактную форму (CF7) для каждого из ведущих группы. Разместить эту контактную форму на странице группы.
2) если вам именно нужен онлайн чат, то посмотрите в сторону
https://www.jivo.ru/
Но вам нужен будет премиум аккаунт, чтобы можно было добавлять несколькоих операторов (которые и будут представлять ваших ведущих).
Ну а дальше создаете чат и добавляете оператора в него. А каждый из чатов выводите на той странице группы, где он нужен. Чтобы вывести оператора на нужной странице используйте условню логику, куда передавайте id кастомного типа записи.
Разовую копию всех вышеперечисленных премиум плагинов можно скачать бесплатно. Правда, в них куча уязвимостей и это нарушение авторских прав, но тут уже вам решать)