Пишем плагин для обратной связи — Метабокс Автора.

Пишем плагин для обратной связи — Метабокс Автора.

2869
8
ПОДЕЛИТЬСЯ

Плагин Метабокс Автора — настраиваемый вывод информации об авторе публикации с иконками социальных сетей из профиля, вывод последних публикаций автора, контактная форма для связи с автором статьи.

Так уж получилось, что в последнее время, мне пришлось работать с новостными и мульти-авторскими сайтами. И каждый раз, я наталкивался на одни и те же «хотелки», необходимо было на страницах публикаций, выводить информацию об авторе статьи с фотографией, а также выводить несколько последних написанных им статей. Плюс к этому частым требованием была возможность отправлять письма через контактную форму не администрации сайта, а именно автору публикации. Помимо этого, должна иметься возможность отключать или включать вывод вышеописанного содержимого самим автором, чтобы автор самостоятельно определял, хочет ли он видеть информацию о себе на сайте, хочет ли чтобы была возможность получать письма отправленные с сайта, и нужно ли ему, чтобы на странице с его публикацией был вывод последних написанных им статей, и хорошо бы чтобы имелась возможность размещать метабокс с помощью шоткода в любом месте статьи, например так:
[asdb-author-info]
Идею, как разрешить данную проблему, подал автор публикации Stay Connected with WordPress Authors но лично у меня, следуя этим рекомендациям собрать плагин не получилось. И хотя вот тут обнаружился перевод статьи, на самом то деле это ничуть не помогло, вопросы которые возникли после прочтения оригинала, так и остались вопросами и в переводе. Отсутствие в статье некоторых ключевых моментов, как то скрипты для валидации формы отправки сообщений и собственно передачу данных из формы на обработчик php, вынуждали искать другие решения, но все они были либо громоздкими, либо не выполняли все необходимые мне функции. Но идея есть, каркас плагина — есть, осталось только приложить к этому руки или голову. Давайте этим и займемся.
Что хотим получить в итоге?
screenshot

screenshot1

Создаем файл плагина — Метабокс автора

Создадим рабочую директорию плагина — asdb-author-info, в ней создадим еще две директории inc, где у нас будут храниться стили и скрипты и img для хранения картинок. В корневой директории плагина создадим файл asdb-author-info.php — основной рабочий файл плагина. Чтобы WordPress понял, что это плагин, необходимо в начале файла разместить заголовок плагина.
Не забываем, что файл должен быть в кодировке UTF-8 без BOM

Служебная часть плагина. Получаем папку в которую установлен плагин, загружаем стили, загружаем jQuery и скрипт плагина.

Настройки плагина

screenshot2
Мы хотим в профиле пользователя, получить возможность разрешать или запрещать вывод определенных, функций нашего плагина.

Функция вывода метабокса информации об авторе

Добавляем нужные поля в профиль пользователя… И убираем ненужные. Добавляем в профиль пользователя нужные социальные сети, и «под шумок» избавляемся от неиспользуемых. По аналогии, можно удалить или добавить нужную Вам социальную сеть.

В результате в профиле автора мы получим нужные нам поля:
screenshot4
Далее формируем функцию для вывода html кода краткой информации об авторе, с его социальными сетями.

Функция вывода последних постов (статей) автора

Создаем контактную форму для связи с автором

Завершаем работу над плагином — Матабокс Автора

Каркас плагина готов. Необходимо оформить внешний вид выводимых метабоксов, для этого создадим в папке inc нашего плагина файл asdb.css. Далее, необходимо в этой же папке создать скрипт function.js с таким содержимым:

ну и последний штрих, обработчик php который будет производить валидацию контактной формы, и отправку почтового сообщения автору публикации.
файл должен лежать в корневой директории плагина, и называться — asdb-data.php

Приветствуются любые улучшения функционала или кода.
Скачать готовый плагин

comments powered by HyperComments
ПОДЕЛИТЬСЯ
Предыдущая статьяСоздаем robots.txt для WordPress
Следующая статьяИсключить прилепленную(Sticky Posts) запись из цикла
Tkacheff.ru
WordPress — БлогоСтроение. Так и хочется срифмовать с настроением ;-). Строя сайты, часто приходится уходить "в поиск", и разгребать мегобайты "мусора" в поисках нужного ответа. Это попытка собрать рабочие решения, проверенные и опробованные мной лично. Прежде всего для себя. Но если кому то пригодится - я буду только рад! Пусть Ваше настроение всегда остается оптимистичным!
Александр Примак
2015-02-07 17:28:48
Гуру!
Александр Примак
2015-02-07 17:29:03
Гуру +++
Dastarhan Aktobe
2015-06-24 19:48:27
а где можно скачать готовый?
Andrey
2015-07-10 02:03:50
Тоже хочется готовый плагин))
Tkacheff.ru
Tkacheff.ru
2015-07-25 23:10:25
http://tkacheff.ru/wp-content/uploads/2014/01/asdb-author-info.zip
Britney Jean
2016-02-29 10:28:10
Спасибо за статью! Ребят, попробуйте сервис от pozvonim.com Простая установка на любую cms, хорошая поддержка. Не сочтите за рекламу, ссылка не реферальная, просто можно взять и попробовать на тестовый период. А потом уже решить подходит или нет. Цены как у всех, можно пакеты брать, а можно количество клиентов или минут. Лидогенерация очень высокая, а окупаемость быстрая. Может кому пригодится мой комментарий
Стас
2016-09-20 22:44:15
Не могу найти где же в консоли выводится форма обратной связи? или я не вывел шорткод, Добавьте в конце статьи как выглядит форма связи и как она отображается?(шорткод там куда вставить )
Tkacheff.ru
Tkacheff.ru
2016-10-06 00:37:25
Это не шорткод. Заходите в админке в редактирование пользователя, и включаете чекрыжик - выводить метабокс автора.