WordPress 6.0 будет пытаться обрабатывать списки комментариев через систему блокировки. Это область, которая отстает от других функций, над которыми была проделана большая часть работы в предыдущих выпусках.
На прошлой неделе ХуанМа Гарридо призвал добровольцев протестировать новые блоки через блог Make WordPress Test. Участников просят оставлять отзывы в комментариях или создавать новые задачи через репозиторий Gutenberg GitHub.
Списки комментариев к сообщениям со временем претерпели несколько изменений. До WordPress 2.7 авторы тем использовали foreach
вызов PHP для циклического перебора массива объектов комментариев непосредственно в comments.php
pшаблоне своей темы. Это была простая система базового HTML и нескольких тегов шаблонов, разбросанных повсюду. Это работало хорошо, пока не были введены вложенные ответы. Разработчики и пользователи отчаянно пытались обновить темы для использования новой wp_list_comments()
функции.
Перенесемся в эпоху блочных шаблонов и редактора сайта. В очередной раз комментарии изменились, но это было только на поверхности. Блок «Комментарии к публикации» был просто оболочкой для существующей реализации. Любой автор блочной темы должен был использовать пользовательские фильтры PHP для изменения вывода списка комментариев, и пользователям в основном не везло вообще, за исключением нескольких элементов управления дизайном.
WordPress 6.0 почти совершит полный круг. Вывод комментариев возвращается в шаблоны через систему блокировки. Фильтры PHP больше не требуются для перемещения макета. И пользователи могут вносить изменения через редактор сайта.
По общему признанию, до сегодняшнего дня я не тратил много времени на работу с блоками, связанными с комментариями. По большей части я вообще избегал их, потому что ждал набора блоков, который, как ожидается, появится в WordPress 6.0.
В последней версии плагина Gutenberg есть целый набор блоков для комментариев. Цикл запроса комментариев и шаблон комментариев должны работать так же, как и их аналоги для сообщений. Набор включает в себя несколько блоков, связанных с метаданными, для автора комментария, даты, ссылки для ответа и ссылки для редактирования. Есть несколько новых для разбиения на страницы, и предстоящий блок аватаров также будет работать внутри шаблона комментариев.
Я открыл шаблон Single Post моей активной темы и удалил старый блок комментариев к сообщению. Затем я вставил новый цикл запроса комментариев.
Меня удивило отсутствие самоуверенных стилей — приятный сюрприз . Однако, поскольку вывод по умолчанию включает в себя большинство возможных блоков, которые может использовать тематик или пользователь, мне бы хотелось, чтобы они были заключены в один из блоков, связанных с макетом, таких как столбцы или строки, обеспечивая некоторую простую структуру.
Мне не потребовалось много времени, чтобы переместить несколько частей и получить макет, который мне понравился. Я получил ужасное «Ой, Snap!» сообщение один раз, потеряв всю свою работу из-за сбоя редактора. Я не мог воспроизвести проблему, но с тех пор я нервно нажимал кнопку сохранения каждую минуту.
Если не считать одного случайного сбоя редактора, все шло гладко. Однако в тот момент я касался только основ. Убрав их, я хотел узнать, будут ли новые блоки предлагать инструменты, которые авторы тем и пользователи могут использовать в реальных проектах.
Первой проблемой, с которой я столкнулся, был отсутствующий идентификатор комментария во внешнем интерфейсе. Это необходимо для того, чтобы браузер пользователя мог вернуться к своему комментарию после его отправки через форму. Я также подозреваю, что это необходимо для работы JavaScript-ответа на комментарий при нажатии на ссылку ответа.
Внешний вывод не отображает классы комментариев из comment_class()
функции. Это не оставляет авторам тем возможности напрямую нацеливать комментарии на основе таких данных, как их глубина, тип, статус и т. д. на данный момент. Это регрессия по сравнению с предыдущими решениями для списка комментариев в ядре WordPress.
Также, похоже, не существует блока «Заголовок комментариев», который выводил бы что-то вроде «X ответов на заголовок сообщения» над списком.
Большинство из этих проблем должны быть тривиальными для решения в ядре. Это то, что я бы назвал базовыми требованиями для функционирующего списка комментариев. Однако есть проблема, для решения которой, вероятно, потребуется более одного цикла выпуска.
В современных инструментах проектирования отсутствует понятие вложенности. Каждый ответ на родительский комментарий получает небольшой отступ слева. Кроме этого, все вложенные уровни получают ту же обработку дизайна, что и их родитель, каждый в своем собственном маленьком блоке. Некоторые дизайны в настоящее время невозможны через интерфейс, например, придание отдельному потоку цвета фона.
И это всего лишь заурядный дизайн списка комментариев. Не ожидайте сделать что-то более продвинутое без пользовательского CSS.
Нет инструментов, построенных вокруг иерархии. Система блоков WordPress плохо справлялась с подобными сценариями. Стоит только попробовать что-то отдаленно сложное с навигационным блоком, например, чтобы увидеть его недостатки. Однако это гораздо более сложный сценарий, чем вложенный список комментариев.
Это не проблема самой блочной системы. Инструментам дизайна еще предстоит наверстать упущенное, и представление таких сложностей в простом в использовании интерфейсе — это не прогулка по парку.
Начиная с Gutenberg 12.9, блок Comment Query Loop кажется регрессом с точки зрения дизайна темы. Он не такой гибкий, как нынешний метод или несколько лет назад, когда комментарии выводились с помощью простого foreach
цикла, небольшого количества HTML и нескольких тегов шаблона.
Хотя это может быть ограничено, оно по-прежнему позволяет конечным пользователям, которые хотят изменить дизайн своего списка комментариев. Это долгожданное улучшение, и я в восторге от того, как ядро сможет использовать его в будущих версиях.
Поскольку до крайнего срока соблюдения GDPR ЕС осталось всего 178 дней , многие владельцы сайтов…
Команда Gutenberg создаст станцию тестирования удобства использования в WordCamp US, где посетители смогут принять участие…
Сегодня компания 10up опубликовала предварительную версию своего плагина Distributor , нового решения для синдикации контента…
На этой неделе был выпущен Gutenberg 1.8 с несколькими заметными улучшениями, которые предоставят разработчикам плагинов…
На этой неделе был выпущен Gutenberg 15.5 с новыми функциями и улучшениями возможностей полнофункционального редактирования…
DesktopServer выпустил версию 3.8.4 своего программного обеспечения для локальной разработки. Эта версия включает в себя…