BuddyPress ворвался в мир блоков в прошлом месяце вместе с выходом релиза 6.0. Первыми блоками стали Group и Member, затем разработчики взялись за блочные версии существующих виджетов. Участники также работают над запросами по блокам, основываясь на обратной связи сообщества.
На днях разработчик BuddyPress Матье Виет поделился прототипом блочного постинга в ленту активности. По данным проведенного опроса эта опция является одной из самых востребованных в сообществе.
Виет создал pull request для области внутри панели администратора WP, которая позволила бы выполнять постинг в ленте активности через произвольный блок bp/text. Этот блок представляет собой адаптацию базового блока core/paragraph с измененным тулбаром, из которого убраны все лишние элементы управления, включая выравнивание, цвет текста и зачеркивание.
Блок постинга в ленте активности включает в себя новый инструмент выбора emoji, добавленный к тулбару блока, с категориями всех emoji, которые поддерживаются в WP. Это гораздо удобнее, чем выбор emoji в ОС.
В своем PR (pull request) Виет подчеркнул несколько основных преимуществ использования редактора блоков для постинга в ленте активности: форматирование текста и добавление ссылок стали более понятными, упростилось добавление emoji, пользователи могут легко планировать посты в ленте активности с помощью компонента DateTimePicker редактора блоков.
Одним из самых важных преимуществ, выявленных Виетом, является возможность стандартизации пользовательского интерфейса. Аналогичным образом редактор блоков помогает унифицировать пользовательский интерфейс для публикации материалов и формирования дизайна сайта в WordPress.
«Сегодня, когда разработчики плагинов BuddyPress хотят расширить постинг в ленте, они просто используют хук, у них нет структурированного способа обработки публикаций – все варьируется в зависимости от плагина», — отметил Виет. – «Плагины в основном используют jQuery (некоторые также применяют Backbone), а потому элементы управления UI могут выглядеть по-разному. И это неидеально для пользователей BuddyPress. Расширив WordPress Blocks API, сделав доступным BP Activity Blocks API, мы улучшим все эти аспекты, и дополнительно мы сможем привлечь разработчиков блоков WordPress для создания новых блоков BP Activity Blocks, чтобы можно было публиковать в ленте медиафайлы, опросы и т.д.»
Лента активности BuddyPress – это фронтэнд-возможность, а потому идея состоит в том, чтобы протестировать блочный постинг в панели администратора и затем аккуратно перенести его во фронтэнд.
«Внедрение блочного постинга в ленте активности во фронтэнд – наша цель и наша главная задача. Однако она довольно сложна, поскольку мы имеем меньший контроль над разметкой», — отметил Виет. – «Существует один макет для страниц администратора WordPress, но есть тысячи разных макетов фронтэнда».
Виет предложил решать эту проблему пошагово:
- Сделать блочную форму Activity Post доступной только в панели администратора.
- Сделать блочную форму Activity Post доступной только в новой теме BP Default.
- Сделать блочную форму Activity Post доступной в модальном окне.
- Сделать блочную форму Activity Post доступной в новом пакете шаблонов.
BuddyPress поддерживает только WordPress 4.8+. Если блочный постинг в ленту активности будет включен в релиз 7.0 плагина, то в таком случае требования BuddyPress будут повышены до WordPress 4.9. Сайты, которые работают со старыми версиями WP, смогут использовать прежнюю форму постинга в ленту активности.
Источник: wptavern.com