Дополнительные поля в 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
Комментарии