Дополнительные поля в Wordpress
У многих пользователей Wordpress возникает задача. А именно добавить на странице помимо контента дополнительные поля. К примеру: картинки, ссылки, чекбоксы, ролики или самые обычные текстовые поля.
В движок уже встроен для этого стандартный модуль, но он не удобен и не понятен простым пользователям. Для этой задачи предлагаю использовать дополнительный бесплатный плагин Advanced Custom Fields.
У модуля приятный и понятный интерфейс с большим количеством настроек. И так приступим к реализации.
Вы можете посмотреть видео, о том, как это делается, либо читайте ниже.
Приступим к реализации
1. Для начала скачаем или через репозиторий Wordpress в админке сайта и установим его .
2. После установки он появится слева в меню.

3. Открываем этот раздел и создаём новую группу полей.

4. Создаём правила, по которому будет определяться - для каких записей будут доступный новые поля. Я к примеру указал для конкретной.

5. Теперь надо создать наши дополнительные поля. Нажимаем кнопку: "Добавить поле" и откроется форма для заполнения, вот здесь внимательней:
- Ярлык поля - Название поля в админке (Пример).
- Имя поля - Имя поля для вставки в код, писать на английском (primer).
- Тип поля - Тут всё понятно, выберем к примеру текст.

Теперь это поле появится в наших записях (оно будет сверху, если вы указали в опциях "Позиция - высокая", по умолчанию оно будет снизу).

6. Отлично, теперь поля в можно задавать через админ панель, однако они не будут отображаться на страницах, сейчас внимательней, мы добавим в шаблон добавлять следующий код, для отображения поля на страницах:
<?php
if(get_field('primer')){
echo ' Новое поле: '.get_field('primer').'
';
}
?>
Работа этого скрипта проста - Если существует такая запись, то она выводится. Вместо "primer" указываем своё имя поля, которое мы задавали (см. выше).
Эту запись нужно добавить на страницу, где у нас выводится контент.
В каком файле он выводится я сказать не могу, так как у всех шаблонов разные файлы, но могу сказать, что контент выводится через функцию get_content() её мы и ищем в файлах (Внешний вид - редактор). Вы должны найти похожею запись:
<?php echo $td_mod_single->get_content();?>
И внутри неё мы вставляем данный код.
<?php
if(get_field('primer')){
echo ' Новое поле: '.get_field('primer').'
';
}
?>
<?php echo $td_mod_single->get_content();?>
Если не разбираетесь, то обратиться к web-мастеру или напишите мне по обратной форме. У меня к примеру этот файл находится здесь : /wp-content/themes/Моя-тема/loop-single.php
E-mail:
Telegram:
Комментарии