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

Сегодня я покажу, как можно добавить несколько или даже бесконечное количество произвольных полей в записях на WordPress минуя постоянного взаимодействия с исходным кодом.

Рассмотрим ситуацию, когда вам нужно добавить несколько имен и краткую биографию. Сгенерируем пары имени и биографии. На скриншоте ниже показано, что мы хотим сделать.

Для реализации этой задумки используйте следующий сниппет. Если вы не знаете, куда его добавить, смело вставляйте его в function.php своей темы.

Краткие пояснения к коду

  1. С помощью add_meta_boxes создаем метабокс в записи, а save_post используем, чтобы сохранить данные. Здесь же можно указать, для какого типа записи будет создан блок, можно использовать post, page или произвольный тип записи.
  2. Функция employee_details_init генерирует сведения о сотруднике и отображает, если он уже сохранен.
  3. Динамическое добавление и удаление пары полей имя-биография происходит с помощью jQuery, метод remove.

Ну и осталось последнее. Для вывода сохраненных данных на сайт как массив, используйте:

По мере возможностей, данный код будет дорабатываться новыми возможностями.

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