CMS: Создание сложных страниц, доступных для редактирования конечным пользователем


Мне было поручено воссоздать небольшой корпоративный веб-сайт (возможно, дюжину статических страниц и раздел блога) с использованием WordPress. У меня нет проблем ни с самим веб-дизайном, ни с самим PHP. Тем не менее, я изо всех сил пытаюсь понять, как настроить его так, чтобы конечные пользователи могли редактировать статические страницы с более сложными макетами без знания HTML.

Например, на главной странице этого сайта будет использоваться невероятно знакомый шаблон Jumbotron/слайдер вверху, три маленьких "выделенных" поля под ним, а затем несколько отдельных разделов, проходящих по остальной части страницы, вероятно, с изображениями, перемещенными по разным сторонам. (Вроде как это.)

Все эти компоненты являются фактическим контентом, поэтому они должны быть легко редактируемыми пользователем. Когда выйдет новая версия продукта, они должны иметь возможность изменить заголовок в Jumbotron, чтобы описать новые функции в маленьких окошках с подсветкой, чтобы обновить чередующиеся изображения в разделах, &c.

Методы, которые я рассмотрел, включают использование виджетов или чего-то вроде Расширенных настраиваемых полей для создания отдельных редактируемых областей для Jumbotron и т. Д., Но они не кажутся очень надежными или элегантными. Я также рассмотрел возможность использования коротких кодов для создания упрощенных оболочек вокруг этих компонентов страницы, но в WordPress есть тысяча маленьких ошибок, которые искажают содержимое блоков шорткодов (посторонняя строка разрывы, случайные открывающие и закрывающие теги и т. Д.).

Я видел сайты WordPress, которые используют структуры страниц, как я описал, но я не смог найти никаких бесплатных тем/плагинов, которые показывали бы, как они управляют этим. Являются ли методы, о которых я упоминал выше, тем, что обычно используют эти сайты, или есть какая-то базовая функция WordPress, которую я здесь не понимаю?

Author: kine, 2013-12-10

1 answers

Ваш вопрос довольно интересен, потому что (как я понимаю) он затрагивает очень важный аспект кодирования - Планирование .

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

На этот вопрос (опять же - для моего понимания) нельзя ответить кодом, но больше похоже на рассмотрение методов. (ну, на это можно ответить кодом, но это будет почти небольшая вики-страница или страница, подобная кодексу, как и должно быть охватывают МНОГИЕ, если не ВСЕ аспекты wp)

Существует множество способов создания такой структуры и создания такой темы. Те, которые вы описали, являются действительными.

Я не поклонник пользовательских типов сообщений, хотя и вижу преимущества для конечного пользователя.

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

Ни один из этих методов не "лучше" других - это действительно зависит от ваших потребностей, вашего мастерства как программиста и мастерство вашего пользователя.

То же самое может быть достигнуто другим способом (и я делал это раньше) с помощью простых сообщений, которые разделены на категории (один для слайдера, один для клиентов, один для отзывов и т. Д.)

Подводя итог - сейчас мне на ум приходят 6 методов (не в каком-то определенном порядке):

  • 1 Виджеты

  • 2 Пользовательские типы записей

  • 3 Простое деление по категориям

  • 4 Настраиваемых поля (я действительно не знаю как и жестокое обращение с ними, но все равно. допустимый метод)

    • (4.1 Мета-поля - в скобках, потому что интерфейс только для 4)
  • 5 Прямые пользовательские запросы

  • 6 Простая страница администратора (или страница "параметры темы" )

(список будет обновлен, если что-то еще придет в голову..)

Может быть,

Какая-то базовая функция WordPress, которую я здесь не понимаю?

В custom_post_type() вероятно, многие люди скажут вам, что это та часть, которую вы пропустили.. но в основном ИМХО, потому что они видели это во многих учебниках.

Для каждого из вышеперечисленных списков существует бесконечный список плагинов, классов, фреймворков и помощников, который сам по себе является собственной вики-страницей.Я оставлю только краткие ссылки на 6-й метод - ЗДЕСЬ - потому что это легко, но я хотел бы избежать ссылок для всех остальных, чтобы также избежать бесполезный спор о том, что лучше (ответ: нет "лучшего").

На данный момент - GIYBF.

Я на самом деле ответил на этот вопрос, потому что 3 часа назад я только что закончил кодировать тему, похожую на ту, которую вы показали.

В данном конкретном случае я выбрал виджеты в качестве метода - и все администрирование сайта осуществляется в ОДНОМ месте - в области виджетов. Очень прост в сборке, очень прост в обслуживании, очень прост в обновлении - и никакого жонглирования кодом не требуется.

Но я должен еще раз подчеркнуть, что все методы действительны.

Я не могу рекомендовать одно над другим.

Я использовал их все.

Все работают.

У всех есть своя особая ниша, в которую они вписываются.

Остальное - это просто личные предпочтения (как клиента, так и программиста) и семантика.

 2
Author: krembo99, 2013-12-10 03:38:26