IN Team
Плагин Наша Команда
by Иван Никитин и партнеры · github.com/ivannikitin-com/in-team · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/ivannikitin-com/in-team/archive/refs/heads/master.zipReadme
IN Team -- Наша команда
Версия 1.1
Плагин реализует формирование раздела Наша команда на сайт. Вывод команды происходит по определенной роли пользователя из его профиля.
Для вывода используется любая страница сайта. В ее слаг (URL) будет дописываться url пользователя команды.
Например, есть страница со слагом team. Тогда информация о пользователе ivan будет выведена как /team/ivan/.
Если пользователь не входит в роль команды, то будет произведена безусловная переадресация на слаг команды.
Начальная настройка
- Установите и активируйте плагин.
- Создайте страницу "Наша Команда" и установите для нее желаемый слаг, например,
team. - Перейдите в настройки плагина: Пользователи -> Наша команда
- Укажите созданную вами страницу и роль пользователей, которая должна отображаться, как команда.
- Обязательно сохраните настройки.
Сортировка сотрудников
По умолчанию сотрудники сортируются по алфавиту по полю display_name.
Однако параметрами шорткода inteam_members можно установить произвольную сортировку сотрудников. См. описание шорткода.
Для того чтобы включить сортировку в произвольном порядке необходимо установить следующие параметры шорткода:
[inteam_members orderby=meta_value]
В этом случае порядковый номер сотрудника задается в его профиле в поле Порядок сортировки.
ВАЖНО! Сотрудники с незаданными или пустыми номерами сортировки в этом случае НЕ ВЫВОДЯТСЯ!
Аватары -- фотографии пользователей
Для вывода фотографий плагин использует стандартную функцию get_avatar(). Пользователи могут изменить
свои фотографии следующим образом:
- Зарегистрироваться и установить фото для своих E-mail на сайте gravatar.com. (рекомендуется).
- Используя плагины управления аватарами на сайте, например:
- ProfilePress
- PublishPress Authors
- и другие
Шаблоны плагина
Для вывода информации плагин использует следующие шаблоны:
profile.php-- вывод информации о сотруднике на странице сотрудникаmember.php-- вывод карточки сотрудника на странице "Наша команда"
Шаблоны находятся в папке плагина templates и могут быть переопределены темой. Для этого их надо скопировать в папку your_theme/in-teams и далее редактировать их там.
Шорткоды
Плагин определяет несколько шорткодов:
inteam_members -- вывод списка сотрудников по указанной в настройках роли
Возможные параметры шорткода:
before-- Вывод любой строки перед результатомafter-- Вывод любой строки после результатаnumber-- Число возвращаемых пользователей, по умолчанию -- 20paged-- Номер страницы списка возвращаемых пользователейpaged-- Запрос для поиска пользователей, например,Иван*или*Викторовичили*Виктор*orderby-- способ сортировки сотрудников. Возможные значения:nicename-- Сортировка по имениdisplay_name-- Сортировка по отображаемому имени (Используется по умолчанию)email-- Сортировка по E-mailurl-- Сортировка по URLregistered-- Сортировка по дате регистрацииpost_count-- Сортировка по количеству записейmeta_value-- Сортировка по произвольному мета-полю пользователя
meta_key-- Какое мета-поле используется для сортировки. По умолчаниюsort_orderorder-- Порядок сортировки. По умолчаниюASC
Пример шорткода
[inteam_members number=30]
inteam_field -- вывод отдельного поля любого сотрудника
Возможные параметры шорткода:
field-- Поле для выводаbefore-- Вывод любой строки перед результатомafter-- Вывод любой строки после результатаuser_id-- ID пользователя
Пример шорткода
[inteam_field field="position" user_id="123"]
Дополнительные поля профиля пользователя
Плагин определяет дополнительные текстовые поля в профиле пользователя:
position-- должность сотрудникаwork_phone-- рабочий телефонtelegram-- аккаунт в Телеграммеsort_order-- порядок сортировки
Список полей можно изменить с помощью хука inteam_extra_fields, например:
add_filter( 'inteam_extra_fields', 'my_inteam_extra_fields' );
function my_inteam_extra_fields( $fields ) {
// Удалим Телеграмм
unset( $fields[ 'telegram' ] );
// Добавим WhatsApp
$fields[ 'whatsapp' ] = 'Аккаунт WhatsApp';
return $fields;
}
Хуки плагина
Плагин активно использует хуки и фильтры, полная документация на них будет написана позже. Пока можно просто смотреть код.
Формирование произвольных подстраниц на странице члена команды
Начиная с версии 1.1 плагин может формировать любые подстарницы автора (члена команды) по типу
- /team/author/bio/
- /team/author/contacts/
- /team/author/info/
Отображение таких страниц ПОЛНОСТЬЮ управляется шаблоном profile.php.
Чтобы сформировать отдельный вывод подстраницы, необходимо получить ее слаг (часть URL) следующим кодом:
$subpage = get_query_var( 'subpage' );
Для указанных примеров URL выше это будут значения:
- bio
- contacts
- info
Для программно выводятся нужные компоненты, например:
<?php if ( 'bio' == $subpage ): ?>
<?php
/**
* inteam_before_user_description hook
*/
do_action( 'inteam_before_user_description' );
?>
<div class="member__descr">
<h3>Биография</h3>
<?php echo apply_filters('inteam_user_description' , $user->user_description, $user ); ?>
</div>
<?php
/**
* inteam_after_user_description hook
*/
do_action( 'inteam_after_user_description' );
?>
<?php endif; ?>Read the full README on GitHub →
Releases
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.