Публикация в группе: Плагин WP-Recall - Личный кабинет на WordPress

Категории группы: Обновления

Приветствую!

Чем старше версия, тем сложнее функционал и медленнее идет разработка.

После большого перерыва я готов предложить к загрузке новую версию моего плагина.

Что нового?

- теперь можно подлючать свой файл стилей и не бояться выхода очередного обновления.

- решены множество проблем в работе скриптов, произведена оптимизация некоторых javascript-ов

- изменена работа и внешний вид произвольных полей профиля в админке

- изменена файловая структура плагина

- изменен порядок публикации записей

Произвольные поля формы публикации

Ранее пользователь публиковать записи мог через свой личный кабинет. Теперь же форма публикации может быть расположена на любой странице сайта через шорткод

[ public-form ]

Если бы на этом изменения закончились, то стало бы скучно, поэтому я не стал останавливаться и ввел в форму публикации поддержку произвольных полей.

Теперь вы можете создать какие-либо свои дополнительные поля для формы публикации через админку на специально созданной для этого странице "Форма публикации". Порядок создания полей и их сортировки в целом схож с созданием и управлением произвольных полей профиля, так что ничего сверхъестественного вы там не увидите. Можно указывать будет ли поле обязательным или нет.

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

23.051

Если попытаться опубликовать запись без заполнения обязательных полей, то поля будут выделены красным цветом.

23.052

Что дает этот функционал? Например, теперь достаточно легко создать портал объявлений. Можно построить форму публикации с теми полями которые вы считаете нужными и принимать через нее объявления на сайт или какие то заявки, различного вида публикации. Вариантов на самом деле огромное множество, все ограничено вашей фантазией.

Сложность только в порядке вывода данных занесенных в произвольные поля при публикации. После публикации эти данные будут занесены в произвольные поля этой записи и их надо будет вывести на сайте.

Для этих целей я предусмотрел функцию, которая выводит все произвольные поля записи единым блоком:

<?php get_custom_post_meta_recall($post_id); ?>

Просто разместите эту функцию внутри вашего шаблона одиночной записи и передайте внутрь нее идентификатор этой записи, если внутри цикла то так:

<?php echo get_custom_post_meta_recall($post->ID); ?>

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

Если же вы знакомы со стандартной функцией для вывода произвольных полей Вордпресс

get_post_meta($post_id,$slug,1);

то вполне можете воспользоваться и ей, только в качестве названия произвольного поля в эту функцию надо передавать ярлык произвольного поля формы, который вы можете видеть при создании этих полей

23.05

Создаем ссылки на определенные вкладки в ЛК пользователя

Иногда возникает необходимость обратиться к определенной вкладке в личном кабинете пользователя просто перейдя по ссылке. Например, чтобы сразу перейти на страницу ЛК с открытой вкладкой "Заказы". Раньше это было невозможно, но я заложил основы для реализации этой возможности. Сделать это теперь достаточно легко.

Например, мы имеем ссылку на мой личный кабинет такого плана:

/author/admin/

а если хотим перейти сразу во вкладку отзывы, то ссылка будет иметь вид:

/author/admin/?view=recall

Секрет в том, что мы должны передать GET['view'] запрос содержащий идентификатор кнопки в ЛК, открывающей нужную вкладку.

Чтобы сильно не мучались перечислю идентификаторы кнопок:

privat - открывает вкладку приватных сообщений

recall - вкладка отзывов

order - вкладка заказов, если установлен магазин

profile - владка настроек профиля

groups - вкладка групп

Теперь создать ссылку на определенную вкладку в ЛК пользователя стало просто.

70

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

не в сети 13 часов

Андрей CS

12K
занят
Комментарии: 2729Публикации: 481Регистрация: 30-11--0001Продаж/Покупок: 0/0