WP Manifestindependent plugin directory
manifest / content / in-team

IN Team

Плагин Наша Команда

by Иван Никитин и партнеры · github.com/ivannikitin-com/in-team · website

1stars
0forks

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.zip

Readme

IN Team -- Наша команда

Версия 1.1

Плагин реализует формирование раздела Наша команда на сайт. Вывод команды происходит по определенной роли пользователя из его профиля.

Для вывода используется любая страница сайта. В ее слаг (URL) будет дописываться url пользователя команды. Например, есть страница со слагом team. Тогда информация о пользователе ivan будет выведена как /team/ivan/. Если пользователь не входит в роль команды, то будет произведена безусловная переадресация на слаг команды.

Начальная настройка

  1. Установите и активируйте плагин.
  2. Создайте страницу "Наша Команда" и установите для нее желаемый слаг, например, team.
  3. Перейдите в настройки плагина: Пользователи -> Наша команда
  4. Укажите созданную вами страницу и роль пользователей, которая должна отображаться, как команда.
  5. Обязательно сохраните настройки.

Сортировка сотрудников

По умолчанию сотрудники сортируются по алфавиту по полю display_name. Однако параметрами шорткода inteam_members можно установить произвольную сортировку сотрудников. См. описание шорткода. Для того чтобы включить сортировку в произвольном порядке необходимо установить следующие параметры шорткода:

[inteam_members orderby=meta_value]

В этом случае порядковый номер сотрудника задается в его профиле в поле Порядок сортировки.

ВАЖНО! Сотрудники с незаданными или пустыми номерами сортировки в этом случае НЕ ВЫВОДЯТСЯ!

Аватары -- фотографии пользователей

Для вывода фотографий плагин использует стандартную функцию get_avatar(). Пользователи могут изменить свои фотографии следующим образом:

  1. Зарегистрироваться и установить фото для своих E-mail на сайте gravatar.com. (рекомендуется).
  2. Используя плагины управления аватарами на сайте, например:

Шаблоны плагина

Для вывода информации плагин использует следующие шаблоны:

  • profile.php -- вывод информации о сотруднике на странице сотрудника
  • member.php -- вывод карточки сотрудника на странице "Наша команда"

Шаблоны находятся в папке плагина templates и могут быть переопределены темой. Для этого их надо скопировать в папку your_theme/in-teams и далее редактировать их там.

Шорткоды

Плагин определяет несколько шорткодов:

inteam_members -- вывод списка сотрудников по указанной в настройках роли

Возможные параметры шорткода:

  • before -- Вывод любой строки перед результатом
  • after -- Вывод любой строки после результата
  • number -- Число возвращаемых пользователей, по умолчанию -- 20
  • paged -- Номер страницы списка возвращаемых пользователей
  • paged -- Запрос для поиска пользователей, например, Иван* или *Викторович или *Виктор*
  • orderby -- способ сортировки сотрудников. Возможные значения:
    • nicename -- Сортировка по имени
    • display_name -- Сортировка по отображаемому имени (Используется по умолчанию)
    • email -- Сортировка по E-mail
    • url -- Сортировка по URL
    • registered -- Сортировка по дате регистрации
    • post_count -- Сортировка по количеству записей
    • meta_value -- Сортировка по произвольному мета-полю пользователя
  • meta_key -- Какое мета-поле используется для сортировки. По умолчанию sort_order
  • order -- Порядок сортировки. По умолчанию 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

TagPublished
v1.1 Jun 22, 2023
0.1 Jul 11, 2021

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.