Все для создания и продвижения сайтов

Верстка, программирование, SEO

Дополнительные поля в Wordpress

У многих пользователей Wordpress возникает задача. А именно добавить на странице помимо контента дополнительные поля. К примеру: картинки, ссылки, чекбоксы, ролики или самые обычные текстовые поля.

В движок уже встроен для этого стандартный модуль, но он не удобен и не понятен простым пользователям. Для этой задачи предлагаю использовать дополнительный бесплатный плагин Advanced Custom Fields.

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

Вы можете посмотреть видео, о том, как это делается, либо читайте ниже.

Приступим к реализации

1. Для начала скачаем или через репозиторий Wordpress в админке сайта и установим его .

2. После установки он появится слева в меню.

Произвольные поля

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

Advanced Custom Fields новая группа полей

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

Advanced Custom Fields правила

5. Теперь надо создать наши дополнительные поля. Нажимаем кнопку: "Добавить поле" и откроется форма для заполнения, вот здесь внимательней:

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

Advanced Custom Fields поле

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

Дополнительные поля в записях Wordpress

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

Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.