Добавляем произвольные поля (Custom fields) в пользовательские типы сообщений


Продолжая серию постов «Пользовательские типы» мы дошли до создания произвольных полей.

Что такое Custom Fields (произвольные поля) в WordPress?

С помощью произвольных полей (Custom fields) можно сделать сайт любой сложности. Можно сделать в шаблоне все красиво и аккуратно.

Произвольные поля (Custom fields) позволят добавлять к постам разные записи. Произвольное поле состоит из имени (оно является постоянной величиной) и значения (которое изменяется и назначается пользователем произвольно в каждой записи).


Часть 3:  Произвольные поля.

Начнем с добавления добавления функций  в файл темы functions.php:

1. Создадим новый мета блок для постов или пользовательских типов постов (записей типа post или Custom Post Type) с названием «Дополнительные поля»:

 

  • my_fields — любое название.
  • My_type_post — это куда будем добавлять наши поля. post — стандартные записи, custom post type — пользовательский тип постов.

2. Далее в этот блоке выводим поля html формы, делается это через, указанную в add_meta_box() функцию fields_box() :

Здесь я рассматриваю 1 тип поля текстовый, но добавлять можно естественно и другие типы. Здесь можно глянуть и другие типы полей.

 3. Нам надо обрабатывать и сохранять эти поля, для этого вставляем код:

С правкой файла functions.php покончили. Весь код целиком:

4. Теперь наше поле  надо вывести в шаблоне нашего поста, в нужном месте Вашего шаблона  вставляем код:

Это самый простой вывод этого поля, можно сделать так же  значение по умолчанию, если поле оставили пустым.
Примеры продвинутого использования Custom fields

P.S.В следующий посте рассмотрим поиск по Custom fields.


Понравился пост, подпишись на обновления

Понравилась статья? Получай свежие статьи первым по e-mail

[newsletter_signup_form id=0]

16 раз(а) написали о “Добавляем произвольные поля (Custom fields) в пользовательские типы сообщений

  1. Приведенный Вами код выдает синтаксическую ошибку.

    Ответить
    • Код слетел, после обновления плагина. Все исправил проверяйте.

      Ответить
  2. Нет…я всё равно разберусь с этими произвольными полями, потому что они очень мне нужны. Придётся перепробовать разные шаблоны, т.к. на раскодированной Академии просто слетает сайт после добавления какого-либо кода.

    Ответить
  3. Игорь, а у вас перед заголоком
    Часть 3: Произвольные поля.

    какое то место пустое — там пример был или просто так? Я даже сходила по ссылке под постом, где примеры, но не разобралась что и для чего это. и автор на комменты пользователей ТАм давно не отвечает…
    А сайт очень познавательный у Вас, даже если что то пока мне не подходит, то заставляет работать в направлении, чтобы все получилось со временем. Кое-что уже работает благодаря вашим постам. Спасибо!

    Ответить
    • Пустое место это просто.

      Как пример может посмотреть данную страницу Шапка «Мишка Тедди». Там использовались произвольные поля: Размеры, Срок изготовления, Цена

      Ответить
  4. а у меня очень узкие 2 сайдбара. Мне бы их расширить как то, тем более что немного места по бокам есть — сантиметра по 2 — как раз бы их занять что-то передвинуть. Это с помощью «произвольных полей» можно сделать? Только не на одной странице а по всему блогу?

    Ответить
    • Уважаемая, Наталья.
      Изначально, сайт был ориентирован на более подкованную в WP аудиторию, теперь сайт разросся, и аудитория у него разнообразная. Поэтому пост я немного обновил, где добавил информацию о том, что же такое «произвольные поля».
      сайдбар расширяется с помощью Css, а не произвольных полей.

      Ответить
      • Спасибо, но пока не совсем понятно конечно. В CSS лазила насчет расширения сайдбаров, пыталась их раздвинуть но только сместила все содержимое вниз под контент. Не разобралась вообщем в каком месте их двигать или не только CSS надо трогать?

        Ответить
  5. Меня научили как на 2 сайдбара ставить то что мне нужно не трогая CSS 🙂 вообще просто надо была знать КУДА вставлять )))

    Ответить
  6. Супер!! Спасибо за статью. То что надо! Только у вас нашел подобную статью, остальные ссылки ведут на плагины. Вы мне реально помогли!
    Правда сначала сайт полетел) из-за того, что в первом коде косая черта лишняя.
    Ну, и если ваша аудитория не только продвинутые пользователи, советую добавить все-таки значение по умолчанию и проверку на наличие этих полей.

    Ответить
  7. И еще… После сохранения поста, дополнительные поля появляются и в блоке «Произвольные поля»
    Как правильно переделать?

    Ответить
    • Так вроде и должно, по другому никак.

      Ответить
  8. Ну почему же нельзя. В пхп нет невозможного)
    Можно, например, проверять, если поля уже созданы, то этот блок уже не показывать, и в дальнейшем редактировать в стандартном блоке «Произвольные поля». Зачем эти поля повторяются два раза, тем более, если у меня их десять?! Только занимают полэкрана.

    Ответить
    • А не так понял вас. Я вообще отключил стандартный блок «Произвольные поля». Я считаю он реализован как-то неудачно и неудобно. Я создаю свой блок с нужными мне полями.

      Ответить
      • аа.. хороший вариант. Мне тоже нравится больше самодельный блок, более компактный и удобный. Надо будет так и сделать. Спасибо за идею!

        Ответить
  9. Решение нашлось, как я и предполагал оно в доп. поле:

    которое потом при сохранении проверяется

    Ну и при выводе постов проверяю

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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