Дополнение к WordPress плагину WP-Recall. Добавляет в настройки профиля возможность указать день рождения. Год, месяц и день. Выводит возраст и дату рождения. Возможность вывести в форме регистрации. Имеет настройки. Выводит в виджетах дни рождения: "Сегодня день рождения" и "Скоро дни рождения". Выводит различные напоминания и уведомления.
Возможности:
- Добавляет три поля (select) в настройки профиля: день, месяц, год
- Индивидуальные настройки приватности. Пользователь сам устанавливает отображать дату рождения, возраст или скрывать д.р.
- Опция вывода их и в форме регистрации
- Возможность указать как обязательное для заполнения поле (опция)
- Выводит в "Подробной информации" возраст и дату рождения
- В блоке автора выводит возраст и дату рождения
- В списке пользователей выводит
- Выводит возраст в личном кабинете под именем
- Возможно включить дату рождения как фильтр для поиска именинников родившихся в этот год, месяц или день
- Поддерживает дополнение Users Filter - поиск по году или точному дню рождения
- Поддерживает дополнение Presents WP-Recall
- Опция: уведомление пользователю в ЛК о необходимости указать дату рождения
- Опция: минимальный возраст участников
- Вывод дней рождений шорткодом: сегодня день рождения, и предстоящие именинники
- Шорткод напоминание о необходимости установить дату рождения
- В том шорткоде возможность установить дату рождения не покидая страницу
- Можно вывести шорткодом в произвольной вкладке дату рождения и/или возраст. Учитывает настройки приватности дня рождения
- Автопоздравление именинников
- Опция: примерное время отправки автопоздравления
- Вывод анимированного поздравления в кабинете именинника (видит он)
- Залогиненный в кабинете именинника увидит призыв - поздравить его: написать личное сообщение или отправить подарок (если включен доп Presents Wp-Recall)
- Есть шорткод вывода всех днейрождений. Подсвечивает если день совпал с текущим. Выводит имя - ссылка на ЛК, сам день и месяц и возраст.
По всем 3-м полям есть возможность сортировки
Видео-обзор:
Смотрите вкладку FAQ - там описаны настройки шорткодов.
Демонстрация работы здесь: при регистрации, в профиле и в списке пользователей, справа виджет именинников
Ранее я выпускал аддон "Сountry & city in profile - Добавляет в профиль пользователю возможность выбрать страну и город проживания", которое так же расширяет профиль пользователя.
Установка:
Т.к. это дополнение для WordPress плагина WP-Recall, то оно устанавливается через менеджер дополнений WP-Recall.
1. В админке вашего сайта перейдите на страницу "WP-Recall" -> "Дополнения" и в самом верху нажмите на кнопку "Обзор", выберите .zip архив дополнения на вашем пк и нажмите кнопку "Установить".
2. В списке загруженных дополнений, на этой странице, найдите это дополнение, наведите на него курсор мыши и нажмите кнопку "Активировать". Или выберите чекбокс и в выпадающем списке действия выберите "Активировать". Нажмите применить.
Обновление:
Дополнение поддерживает автоматическое обновление - два раза в день отправляются вашим сервером запросы на обновление.
Если в течение суток вы не видите обновления (а на странице дополнения вы видите что версия вышла новая), советую ознакомиться с этой статьёй
Дополнение имеет блок настроек в админке сайта:
"WP-Recall" -> "Настройки" -> "Настройки Birthday In Profile"
Обзор дополнения и его настройки показаны в видео
Описание действующих шорткодов найдёте во вкладке FAQ
Как настроить автопоздравление найдёте во вкладке FAQ
1 шорткод вывода именинников:
Вы можете вывести именинников в теле записи или вставить в текстовый виджет - вставьте шорткод:
[ofm_birthday_soon]
Доступные атрибуты шорткода:
template - Внешний вид. Вывод шаблоном
Значения:
list (по умолчанию) - вывод списком - Отображаемое имя и дата рождения (завтра, послезавтра, число месяц)
avatar - вывод аватарками
title - Заголовок перед выводом (по умолчанию нет). Заголовок будет выводиться только если есть что выводить. Нет на текущий день именинника - нет заголовка
type - тип представления виджета. По умолчанию не задан (тогда шорткод выводит предстоящие дни рождения, исключая текущий день)
Значения:
today - указав его, вы сможете выводить пользователей у кого сегодня день рождения
number (число) - предельное количество выводимых пользователей. По умолчанию 50.
Примеры:
1. Выведем пользователей аватарками у кого сегодня день рождения и зададим заголовок:
[ofm_birthday_soon type="today" title="Сегодня ДР:" template="avatar"]
2. Выведем предстоящих именинников списком, зададим заголовок и ограничим 10-ю пользователями:
[ofm_birthday_soon title="Ближайшие дни рождения:" template="list" number="10"]
2 шорткод вывода напоминания с возможностью установить дату рождения:
Вы можете вывести именинников в теле записи или вставить в текстовый виджет - вставьте шорткод:
[ofm_birthday_set_data]
- этот шорткод позволяет напоминать пользователю о необходимости установить день рождения. Если пользователь закроет его, то дополнение поставит куку на неделю, и данный блок с сообщением не будет показываться ему 7 дней.
Доступные атрибуты шорткода:
text позволяет указать свой текст. По умолчанию "Укажите дату рождения".
- клик по тексту вызывает всплывающее окно - где можно сразу установить дату своего рождения.
Примеры:
1. Покажем пользователю напоминание с текстом "Укажите дату рождения":
[ofm_birthday_set_data]
2. Покажем пользователю напоминание с текстом "Установите дату своего рождения":
[ofm_birthday_set_data text="Установите дату своего рождения"]
3 шорткод - вывод в произвольной вкладке возраста и др:
Этот шорткод понимает приватность возраста которую установил пользователь - вставьте шорткод:
[ofm_birthday_tab]
выведет: "День рождения: 14 Июня 1983"
Если указать [ofm_birthday_tab filter=1]
- то выведет дату рождения с фильтром.
Пример 2:
[ofm_birthday_tab type="age" title="Возраст:"]
выведет: "Возраст: 37 лет"
3 шорткод: вывод всех дней рождений с возможностью сортировки и подсветки если день совпал с текущим:
[ofm_all_birthdays]
- полезно для администратора, чтобы увидеть все Д.Р.
2. Письмо автопоздравления - как настроить?
1. Создаёте новую страницу в админке. Заголовок страницы - будет заголовком письма. Текст записи - текстом письма. В тексте можно использовать шаблон %username% - он будет в письме преобразован в отображаемое имя. Сохраняете страницу.
2. Переходите в настройки: "WP-Recall" -> "Настройки" -> "Настройки Birthday In Profile" -> "Автопоздравление" -> "Текст сообщения". Ставите "Страница" и выбираете в выпадающем списке созданную страницу автопоздравления.
3. Возвращаетесь на страницу автопоздравления и справа будет доступна кнопка "Тест письма" - так вы сможете протестировать отправляемое письмо с поздравлением.
Вы можете и не создавать отдельную страницу с поздравлением - простой текст поздравления возможно указать в "Автопоздравление" -> "Текст сообщения" выбрав "Простой" - в поле ввода текста впишите простой текст.
- но данный способ ограничен по используемым тегам.
3. С какими дополнениями интегрирован доп дней рождений?
1. Для поиска и фильтрации по дню рождения (год или полный формат 1983-06-14) Users Filter.
В его настройках просто перенесите поле "День рождения" в активную зону Скрин (см. пункт 6 FAQ)
2. Базовое дополнение Rcl Chat - для отправки сообщения имениннику (при входе в кабинет именинника появится ссылка на вкладку общения)
3. Дополнение Presents Wp-Recall - для отправки имениннику подарка (при входе в кабинет именинника появится ссылка на окно выбора подарков)
4. Дополнение Woman/Man - теперь шаблоны dob-birthday-boy.php и dob-congratulate-him.php на основе указанного пола пользователя склоняют обращение к ним.
5. Дополнение Universe Activity - записывает: кто установил день рождения и сменил дату рождения
4. Когда создается файл именинников?
- Файл именинников (кеш) создается:
1. при активации дополнения
2. дважды в день по ВП крону
3. при сохранении новой даты рождения в профиле
Содержит массив данных 50-ти пользователей от сегодняшнего дня, но не более месяца.
5. Где я могу найти файл именинников?
- файл расположен по пути: ваш-сайт/wp-content/uploads/rcl-uploads/birthday.txt
6. Возможно ли фильтровать и искать по дате рождения?
Да! Используйте Users Filter
При условии, что у вас стоит шорткод userlist и настроена страница вывода всех пользователей "Поля профиля" - опция: "Страница вывода пользователей"
Переходим на страницу "WP-Recall" -> "Фильтр пользователей"
В его настройках просто перенесите поле "День рождения" в активную зону Скрин
7. Могу я изменить виджет?
- Это дополнение использует шаблоны - вы с легкостью можете этим воспользоваться - кастомизировав под себя. Читайте тут как с ними работать.
- остались вопросы - задавайте на форуме поддержки дополнения.
v3.7.0
* Добавлен шорткод выводящий все дни рождения. Подсвечивает если день совпал с текущим. Выводит имя - ссылка на ЛК, сам день и месяц и возраст.
По всем 3-м полям есть возможность сортировки.
v3.6.0
* Поддержка WP-Recall 16.26.0
* Поддержка дополнения Users Filter - Скрин
- можно искать как по году, так и по полной дате, соблюдая формат. Например: 1983-06-14
v3.5.0
* Поддержка WP-Recall 16.24.35
* добавлен шорткод для вывода данных (отдельно возраст, отдельно дата рождения)
Этот шорткод понимает приватность возраста которую установил пользователь
v3.4.0
* Поддержка WP-Recall 16.24.11
* переход на новое апи настроек, апи уведомлений
* в ЛК предложение установить дату рождения можно закрыть. Через 7 дней уведомление у пользователя появится снова.
* в настройках установки простого текста поздравления поддерживаются переносы строк и смайлы.
v3.3.0
* Исправлен баг с путями к картинке в шаблоне
* Дополнение поддерживает работу с дополнением Woman/Man - теперь шаблоны dob-birthday-boy.php и dob-congratulate-him.php на основе указанного пола пользователя склоняют обращение к ним.
v3.2.0
* Админ может перейти в админке в список пользователей и у нужного пользователя вручную задать/поменять Д.Р.
v3.1.0
* Поддержка WP-Recall 16.16
v3.0.3
* Устранил уведомление уровня notice
v3.0.2
* фикс скрипта
v3.0.1
* фикс стиля
v3.0
* Рефакторинг
- доп переписан, реорганизован. Переведен на ООП. Опции и функции используют последнее api WP-Recall.
* Добавил 2 хука:
do_action('bip_add_birthday', $year, $month, $day);
- когда пользователь впервые указал ДР
do_action('bip_change_birthday', $year, $month, $day);
- когда пользователь сменил ДР
- второй хук ловит только изменение даты рождения. Если дата осталась прежней - то ни один хук не выполнится. Данное введение для использования в дополнении Universe Activity. Ну или для наград, к примеру.
* Если пользователь указал в полях дату рождения - то при сохранении опций кеш дней рождений обновляется. Но если дата ДР в полях не поменялась - то кеш не обновится
* Отдельный класс сортирует массив на две ветки - "сегодня" и "предстоящие ДР" и актуализирует данные - убрав прошедшие дни. Полезно чтобы быстро выбрать актуальные данные.
* Автопоздравление пользователя. Возможно указать поздравление - или сразу в окне (значение опции: Простой) - или оформить письмо в виде отдельной странице (значение опции: Страница)
- если используется Простой - то можно для текста содержимого письма (текст поздравления) использовать фильтр bip_birthday_message_mail
- чтобы сформировать свой текст поздравления.
- в тексте можно использовать шаблон: %username% - в письме он преобразуется в "Отображаемое имя" которое выставил пользователь. Например, ввели: С Днём рождения %username%!, а в письме получит: С Днём рождения Марья Ивановна!
- если выбрали значение опции: Страница - то будет и заголовок записи участвовать - он будет темой письма (заголовком письма). т.е. Заголовок записи = заголовок письма. Контент записи = контент письма.
* Если вы на странице поздравления (та страница, что у вас указана в настройках отправки) - то возле кнопки "Обновить" увидите кнопку "Тест письма" - нажав ее вы сохраняете страницу поздравления и происходит отправка письма. Адрес почты берется из общих настроек WordPress.
- эта кнопка будет вам полезна при составлении поздравительного письма - чтобы посмотреть, как оно будет выглядеть и, таким образом, удобно и наглядно подготовить его.
* Возможность задать примерное время автоотправки письма - часовой крон выбирает и отправляет, если отправка совпадает с этим часом
* Проверка пропущенных поздравлений в текущем дне (например у пользователя сегодня ДР и он именно сегодня указал эту информацию)
* Упразднил глобальные настройки приватности в админке.
* Ввел пользовательские настройки приватности - теперь под полем выставления дня рождения пользователи сами смогут выставить одно из трёх:
- "Показывать дату рождения (и возраст)" - по умолчанию. Кто не выставил - то будет показываться и дата и возраст.
- "Показывать только месяц и день" будет выводиться например: День рождения: 14 июня. Но не будет показан возраст. Опция для 30-летних мамочек стесняющихся свой возраст 🙂
- "Не показывать дату рождения" - тогда выводиться ничего не будет. Но в именинниках они будут участвовать и автопоздравление получать.
* Доработал сообщение в личном кабинете при неустановленной дате рождения: теперь после текста будет размещаться ссылка "Настройки" - по клику на ней, без перезагрузки страницы, автор попадет на страницу настроек
* Над кабинетом именинника выводится анимированное поздравление. Если сам именинник в своем кабинете
- оно выводится с помощью WP-Recall шаблона - dob-birthday-boy.php - поэтому если надо поменять заголовок, картинку или текст поздравления - воспользуйтесь этим функционалом.
* Если гость зашел к имениннику в кабинет - то он увидит сообщение: "Владимир Otshelnik-Fm сегодня отмечет свой день рождения. Вы можете поздравить его.".
- для гостя работает шаблон dob-congratulate-him.php
- этот шаблон поддерживает дополнение Presents WP-Recall https://codeseller.ru/?p=6803 - залогиненному пользователю он предложит "Сделать подарок" - этот текст - ссылка на всплывающее окно списка подарков.
- или отправить личное сообщение - ссылка на вкладку ЛС
- а гость в кабинете именинника увидит в конце мотивационного приглашения сообщение "Войдите на сайт и выберите подарок для него"
* Добавлен шорткод [ofm_birthday_set_data]
- этот шорткод позволяет напоминать пользователю о необходимости установить день рождения. При этом закрыв его он поставит куку на неделю и неделю сообщение не будет показываться.
- доступный атрибут text позволяет указать свой текст. По умолчанию "Укажите дату рождения".
- клик по тексту вызывает всплывающее окно - где можно сразу установить дату своего рождения.
v2.0.5
* Исправил уведомления уровня PHP Notice
v2.0.4
* исправлен баг выборки начала месяца с отступом
* подготовка к работе с шаблоном ЛК Theme-Control
v.2.0.3
* Устранил баг перехода через год. Оптимизация запроса в БД. Благодаря этому упростил обработку в массиве, сократив код.
v.2.0.
* Исправлен баг: у даты рождения не записывался ведущий ноль. Пользователи чей день рождения в промежутке чисел дней - 01-09 придется пересохранить дату своего рождения.
* Добавлено: Генерация файла дней рождений: birthday.txt по пути: /wp-content/uploads/rcl-uploads/. При активации дополнения файл генерируется.
Он так же обновляет свои данные 2 раза в день по крону (событие rcl_cron_twicedaily_schedule). Содержит массив данных 50-ти пользователей от сегодняшнего дня, но не более месяца. Т.е. если у вас пользователей мало - он будет ограничен месяцем. Если пользователей много - то ограничен 50-тью пользователями.
На основе этого самое "вкусное" - вывод текущих дней рождений и предстоящих. Шорткод и примеры вывода описаны во вкладке FAQ.
Выводится шорткод с помощью шаблонов - во вкладке FAQ ссылка как с ними работать.
v.1.2.
* Добавлена опция "минимальный возраст участников"
Этот параметр будет выводить конечный год в селекте выбора "Года".
Пример: сейчас 2016-й год. Вы поставили значение 10. Значит в селекте год будет заканчиваться 2006-м.
Т.е. представлен набором с 1913 года по 2006-й
v.1.1.
* Добавлена опция: уведомление пользователю о необходимости указать дату рождения. 2 варианта вывода. Текст сообщения можете в настройках указать свой. Таким образом, ранее зарегистрированные пользователи увидят новую возможность.
1 - в личном кабинете пользователя выводится уведомление над кабинетом
2 - агрессивный метод. Всплывающий нотис слева. Выводится на всех страницах. Возможно указать его время автозакрытия в секундах. Пользователь может его сам закрыть, но перейдя на другую страницу нотис всплывет вновь. Текст-ссылка ведет в настройки профиля.
v.1.0
* Release
P.s. Идеи - это не заявленный функционал, а возможный вектор развития. Поэтому если вы купили дополнение и потом выдвигаете претензию: "Почему идея не реализована? Верните мои деньги!" - ответ: потому что вы покупаете дополнение с текущими заявленными возможностями. Их и поддерживаю. А не планы и идеи.
Идеи даны для того, чтобы вы их поддержали или нет - на основе интереса к ним и будет развиваться дополнение.
опция: уведомление пользователю в ЛК о необходимости указать дату рождения - реализовано в v.1.1
виджет именинников (за неделю, этот день) - реализовано в v.2.0
виджет для групп - выводить именинников состоящих в группе - отклонено (2018-02-16) из-за невостребованности
возможность автопоздравления от лица администрации сайта на мейл или ЛС - реализовано в v.3.0
интеграция с Presents Wp-Recall - реализовано в v.3.0
"Интеграция с Universe Activity" - писать первое сохранение опции и последующие изменения. Возможно этот лог виден будет только админу. - сделано в Universe Activity.
В довесок к идее выше с логом - "внедрение хука, чтобы по id юзера отключать ему возможность смены даты рождения". Например, шутник: "вечный именинник". Заблокировали его и дальше только админ сможет ему поменять дату рождения.
"Новая карточка именинника" - вдохновения не нашел пока. Если у вас есть красивый дизайн блока именинников - присылайте. Сделаю.
Уведомление о дне рождении друга
"Интеграция с допом Autobot"? - сомневаюсь. Смысл отправлять в ЛС, а крон через час отправит на почту - вряд ли такая цепочка доставки нужна.
Ваши идеи?
* Поддержка осуществляется в рамках текущего функционала дополнения
* При возникновении проблемы, создайте соответствующую тему на форуме поддержки товара
* Если вам нужна доработка под ваши нужды - вы можете обратиться ко мне в ЛС с техзаданием на платную доработку.
Все мои работы опубликованы на моём сайте и в каталоге магазина CodeSeller.ru
Классное дополнение - зачёт! Я раньше уже думал о подобном и реализовал это у себя с помощью полей профиля (тип поля "Дата") и простого отображения для других пользователей, но выводилась просто дата дня рождения и на этом всё. Здесь же с размахом (и главное возраст сразу подсчитан) 🙂 А вот эти вот ожидаемые функции: виджет именинников (за неделю, этот день), возможность автопоздравления от лица администрации сайта на мейл или ЛС и уведомление о дне рождении друга - вообще огонь! Установил данное дополнение - всё работает на ура и вывод и поиск.
Спасибо.
С этим дополнением мы можем выполнить все эти задуманные из плана на развитие. И что главное - это будет универсально. Если же использовать самостоятельные поля профиля (те что задаются в WP-Recall)- то там сугубо индивидуальный подход.
Отшельник, спасибо за дополнение! Когда прочитал заголовок, то подумал: "смысл, если функционал плагин позволяет вывести через произвольное поле", а когда прочитал описание, понял, как же сильно я ошибался 🙂
На мой взгляд, самая сильная "фишка" - это отправка поздравительных писем.
Еще раз спасибо и успехов в развитии. Всегда с нетерпением новых релизов 😉
Добавил в описание видео-превью дополнения
можно заморочиться и скрыть год рождения, думаю, стеснительные барышни не особо любят распространяться о своем возрасте. но поздравления любят)
Пусть ставят себе каждый год 17 лет))
Но как идею - принял. Надо обдумать этот вариантС версии 3.0 реализовано
Простите, шкала лет здесь до 2000 года. Для меня это не принципиально, но авторы разные бывают. У меня одна есть 2005 года рождения. Нет в планах слегка расширить диапазон шкалы лет? Спасибо.
Сейчас в возрасте годы: с 1913 года до 16 летних. т.е. как вы и описали - в этом году до 2000-го года. В следующей версии в настройках введу минимальный возраст участников. Что-то не подумал о школьниках.
Стопор сработал не давать им пользоваться этим 😈
Спасибо большое за минимальный возраст участников)
Версия 2.0. "Вкусные" возможности - описание выше.
Подумалось, что было бы полезно также формировать виджеты для групп, чтобы админы групп могли их выводить в своих группах и выводить в этих виджетах ближайшие днюхи только пользователей состоящих в текущей группе.
Согласен. Предложение дельное. Записал в список дел 8)
Супер. Спасибо за это дополнение. В ближайщем будущем куплю это дополнение.
Классно было бы добавить email рассылку тем, у кого день рождение, от имени сайта. 😀
Да, спасибо за напоминание.
В скором времени эта возможность добавится.С версии 3.0 реализовано!
Здравствуйте, а нельзя предусмотреть в виджете именинников вставку мини-картинки поздравительной?
Здравствуйте.
Да вроде подобное можно и сейчас сделать - создавайте тему на форуме поддержки товара - подскажу
Дополнение знатно обновилось. Видео посмотрите - записал обзор почти всех возможностей.
И в вкладке ChangeLog обзор всего нового.
Было бы классно добавить функции:
1) Подарок рейтинга или денежного начисления на личный счёт (с возможностью выбора и того и другого)
2) Автоматически выданный подарок от Presents Wp-Recall
Идеи записал. Спасибо.
Сейчас на сайте есть базовое поле "День рождения" (Meta-key:rcl_birthday). Это дополнение будет его использовать?
То есть если юзеры сейчас заполнят свое ДР, а потом я куплю и поставлю этот плагин, юзерам заново придется выбирать свой ДР, или все сохраниться?
Дополнение появилось намного раньше чем появилось в WP-Recall произвольное поле rcl_birthday. Нет такое поле не поддерживается. Вам придется в mysql найти rcl_birthday и заменить на мое метаполе. Уроков в сети как переименовать через phpMyAdmin какое либо значение много. Переименовали и убираете реколл поле из формы профиля пользователя. т.к. у дополнения свой набор полей там и дата и приватность в общем все сложней чем в стандартном поле профиля пользователя.
Все понял. Спасибо.
И что если просто не выводить поле rcl_birthday в полях профиля? Просто хотелось бы возможности вывода настроек дня рождения в админке ВП, чтобы админ мог редактировать дни рождения пользователей сам. У rcl_birthday выводится у пользователей, а у вашего допа вроде нет. Поэтому и уточняю. Спасибо
В версии 3.2.0, сегодня, я добавил такую возможность.
Низкий поклон вам, Владимир 😇
Как насчёт интеграции с Users Filter?
Что за интеграция?
Возможность искать по дате рождения! Сейчас такой возможности нет!
В 3.6.0 появилась с ним интеграция. Смотрите вкладку FAQ для подробностей