mk3mk
@mk3mk
занимаюсь вёрсткой (иногда)

Как реализовать редактирование контента при заданной вёрстке на WordPress?

Всем привет!
Первая часть вопроса: как сделать, чтобы мы могли реализовать возможность редактирования администратором(редактором) контента через админку, и при этом чтобы верстка была прописана в шаблоне страницы.
Т.е. у нас на странице, например, идет секция с тремя блоками текста. Я в шаблоне страницы пишу вёрстку из трех блоков. Но сам текст пишу в админке, чтобы редактор потом мог его менять.
Потом идет секция с 4 блоками, где в каждом блоке есть иконка, заголовок и текст. И опять же я в шаблоне пишу вёрстку с 4 блоками, а сами иконки, заголовки и текст ставлю уже в админке.
И так далее, все секции.
Как обычно делают в таких случаях?
Вопрос именно в том, как связать жесткую вёрстку и динамические данные из админки.
Вот как я примерно представляю, как это должно выглядеть в коде шаблона страницы:

<section class="text">
	<div>
		<?php the_content() ?>
	</div>
	<div>
		<?php the_content() ?>
	</div>
	<div>
		<?php the_content() ?>
	</div>
</section>

<section class="icons">
	<div>
		<?php the_content() ?>
	</div>
	<div>
		<?php the_content() ?>
	</div>
	<div>
		<?php the_content() ?>
	</div>
	<div>
		<?php the_content() ?>
	</div>
</section>


А в админке при этом мы задаем произвольные поля для наших блоков.

Вторая часть вопроса - как реализовать, чтобы редактор мог в админке добавлять и удалять секции, блоки, и т.д. Это все делается с помощью произвольных полей?

Третья часть вопроса - чтобы редактор мог менять вёрстку и контент из админки. Нужны настройки страницы в кастомайзере. Чтобы он мог поставить, скажем, секцию из трех блоков и вставить там любой текст, потом секцию из 4 блоков с иконками, заголовками и текстом. Т.е. как в визуальных конструкторах мог собирать страницу, выбрать сайдбар справа или слева или без сайдбара и т.д. Это тоже надо смотреть в сторону произвольных полей, или здесь надо изучать настройки кастомайзера?

Ну и вдогонку, еще один вопрос - есть такое понятие "натянуть верстку на WordPress". Видел много уроков, где берут верстку, разбивают по файлам header, footer, index, page и другим. И все. Про иерархию шаблонов я читал. Тут вопрос у меня немного не об этом, а про то, насколько это правильно, так делать посадку верстки на WordPress? Тут же получается вёрстка вся прописана в файлах темы, т.е. захардкожена. И клиент не сможет поменять тексты и все остальное. Т.е. получается, по правильному делать посадку верстки так, чтобы клиент мог сам потом менять и добавлять контент через админку. Но такая работа будет стоить намного дороже, чем просто разбросать вёрстку по файлам и подключить стили и скрипты. Или тут все зависит от задачи? Например, если клиент поставил задачу "просто натянуть готовую верстку", то значит мы так и сделаем. А если клиент говорит, что ему надо чтобы он мог потом редактировать, то тогда нам надо делать уже полноценную тему со всеми настройками и прочее.. И тут уже разброс по цене будет ощутимый... Кто как делает в таких случаях?
  • Вопрос задан
  • 1392 просмотра
Пригласить эксперта
Ответы на вопрос 2
azerphoenix
@azerphoenix
Java Software Engineer
Т.е. у нас на странице, например, идет секция с тремя блоками текста. Я в шаблоне страницы пишу вёрстку из трех блоков. Но сам текст пишу в админке, чтобы редактор потом мог его менять.

Используйте кастомное поле. Посмотрите в сторону плагина ACF или Carbon fields.

<section class="text">
  <div>
    <?php the_field('text1') ?>
  </div>
  <div>
    <?php the_field('text2') ?>
  </div>
  <div>
    <?php the_field('text3') ?>
  </div>
</section>


Вторая часть вопроса - как реализовать, чтобы редактор мог в админке добавлять и удалять секции, блоки, и т.д. Это все делается с помощью произвольных полей?


Да, тот же ACF. Я например, для возможности создания секций, а также добавления различных блоков из админки не редактируя сам шаблон использую вложенные типы полей ACF.

Берем повторитель (repeater) вкладываем в него ACF flexible content. Добавляем в него нужные типы полей. Пользователь может создать секцию, добавить блоки, задать фон, цвет, заголовок и т.д.

Чтобы редактор мог менять вёрстку и контент из админки. Нужны настройки страницы в кастомайзере. Чтобы он мог поставить, скажем, секцию из трех блоков и вставить там любой текст, потом секцию из 4 блоков с иконками, заголовками и текстом. Т.е. как в визуальных конструкторах мог собирать страницу, выбрать сайдбар справа или слева или без сайдбара и т.д. Это тоже надо смотреть в сторону произвольных полей, или здесь надо изучать настройки кастомайзера?


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


есть такое понятие "натянуть верстку на WordPress". Видел много уроков, где берут верстку, разбивают по файлам header, footer, index, page и другим. И все. Про иерархию шаблонов я читал. Тут вопрос у меня немного не об этом, а про то, насколько это правильно, так делать посадку верстки на WordPress? Тут же получается вёрстка вся прописана в файлах темы, т.е. захардкожена. И клиент не сможет поменять тексты и все остальное. Т.е. получается, по правильному делать посадку верстки так, чтобы клиент мог сам потом менять и добавлять контент через админку. Но такая работа будет стоить намного дороже, чем просто разбросать вёрстку по файлам и подключить стили и скрипты. Или тут все зависит от задачи? Например, если клиент поставил задачу "просто натянуть готовую верстку", то значит мы так и сделаем. А если клиент говорит, что ему надо чтобы он мог потом редактировать, то тогда нам надо делать уже полноценную тему со всеми настройками и прочее.. И тут уже разброс по цене будет ощутимый... Кто как делает в таких случаях?


Тут все зависит от задачи... Но закинуть статику и отдавать в ВП не очень-то хорошая идея... Уж лучше те же кастомные поля ACF подключать и дать пользователю. Ну или виз. редактор... Elementor, Visual Composer и др.
Ответ написан
Комментировать
bersus
@bersus
https://bersus.design
Бегло пробежался по вопросу.
Если я правильно понял, решить вопрос может использование визуального редактора.

Например, Elementor. Просто, понятно и эффективно. Альтернатива - WP Bakery, Beaver, Divi.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы