Публикация в группе: Otshelnik-Fm - мои работы (код, плагины, дополнения, статьи и руководства)

Категории группы: Работаем с Wp-Recall

В этой записи я покажу как работать с дополнением User Info Tab

 

В версии 1.2 этого дополнения были добавлены 4 экшена (actions или хука) - они позволят вам работать и добавлять новые функции и/или текст без необходимости внесения изменений в сам аддон.

 

Но напомню, что дополнение поддерживает функционал шаблонов от плагина WP-Recall. Вам достаточно скопировать шаблон user-info-card.php из папки аддона - в эту папку: /wp-content/wp-recall/templates/ и изменить его под себя оттуда (это понадобится если вы хотите поменять верстку, расположение блоков, убрать вывод некоторых блоков или изменить иконку или текст). Тогда при обновлении дополнения ваши правки не слетят.

Внутри этой папки 2 файла:

user-info-card.php - шаблон который подключают все ЛК. Кроме дополнения Theme Control
- для шаблона ЛК Theme Control в работу вступает файл шаблона user-info-control.php

Внутри шаблоны подробно прокомментированы:
 

- вы можете переназначить блоки местами, переписать текст, изменить вёрстку. Каждая сущность: будь то дата регистрации, статус, имя, один элемент из статистики - все это отдельная функция - и вы гибко сможете повлиять на результат - если стандартный вывод вас не устраивает. На скриншоте выше я отметил какие дополнения выводят там какие блоки, но вы можете дописать и свои дополнительные данные - зная лишь функцию для вывода.

В шаблоне я все подробно прокомментировал - легко для новичка - если к примеру вам надо перенести блок или заменить текст.

В функцию можно передавать свой текст, в некоторые иконки от FontAwesome. Если в статистике пользователя значение 0 (отсутствует) - то этот блок статистики не выводится. Если функция не возвращает ничего - к примеру не указана дата рождения или город или соцссылки - то вы не видите теста. Это разгружает кабинет если пользователи ничего не заполнили. Просто минимум информации.

 

Экшены внутри дополнения:

5 экшенов внутри дополнения:
uit_before_info - срабатывает до блока информации
uit_after_info - срабатывает после блока информации (и до блока статистики)
uit_before_stats - срабатывает до блока статистики
uit_after_stats - срабатывает после блока статистики
uit_footer - срабатывает в самом низу - т.к. выше блока "Сессии" работает хук uit_after_stats

Весь код ниже добавляем в ваш functions.php - вашей активной вордпресс темы, а стили соответственно в ее style.css файл

Начнем с простого:

 

1. Добавим произвольный текст в конец блока статистики:

// Добавим произвольный текст в конец блока статистики
function uit_display_additional_info($user_lk){
    echo 'Не забывайте публиковать новые записи и счетчик увеличится';
}
add_action('uit_after_stats','uit_display_additional_info');

Результат:

 

2. Выведем вверху "Инфо" - почту пользователя:

Внимание! это всего лишь пример. Не очень хорошая затея открывать почту пользователей таким способом - боты и поисковики быстро ее спарсят и на нее повалят тонны спама. Или делайте проверку, чтобы показывать почту всем залогиненным или по клику на спец поле подгружайте ее (как подгружается номер телефона на Avito)

! все хуки передают id пользователя в $user_lk чей кабинет просматриваем

// Выводим вверху "Инфо" эмейл юзера
function uit_display_mail_user($user_lk){
    $email = get_the_author_meta('user_email',$user_lk);
    echo $email;
}
add_action('uit_before_info','uit_display_mail_user');

Для вывода почты мы использовали стандартную вордпресс функцию get_the_author_meta. Ознакомится с ее работой можете в кодексе вордпресс.

Результат:

 

3. Выведем подаренные пользователю подарки в конец блока "Инфо", но до статистики:

Подарки - это работа этого дополнения: Presents WP-Recall
Мы всего лишь выведем результат его работы в вкладку "Инфо".
Вначале проверим что данное дополнение активировано - функцией function_exists - и если все ок - выведем результаты.

// В конец блока информации, но до начала блока статистики выведем подарки
function uit_display_presents($user_lk){
    if (function_exists('show_presents_in_pageuser_rcl')){ // если дополнение подарков активировано
        $presents = show_presents_in_pageuser_rcl($user_lk);
        echo '<div class="uit_presents">'.$presents.'</div>';
    }
}
add_action('uit_after_info','uit_display_presents');

Получим:

- явно необходимо причесать css стили. Заметьте, что мы обернули весь блок в нашем коде в div uit_presents - к нему и зацепимся.

Блок стилей для подарков:

.uit_presents > h3::after {
    content: ":";
}
.uit_presents ul {
    list-style-type: unset;
}
.uit_presents ul li {
    display: inline-block;
    width: 50px;
}

- первым правилом мы добавили к заголовку двоеточие. Второе правило уберет маркированный список. Третье правило задает размер.

Результат:

 

Так вот просто добавить свою информацию используя хуки вордпресс. Подробнее про работу хуков и работу с ними читайте в интернете.

6

Автор публикации

не в сети 1 час

Владимир (Otshelnik-Fm)

4 354
Перегорел
Почитать: https://otshelnik-fm.ru/post-group/goodbye-open-source/
Комментарии: 2194Публикации: 245Регистрация: 27-01-2013Продаж/Покупок: 0/0