7 вещей, о которых вы не знали, что вы можете делать с расширенными пользовательскими полями

Опубликовано: 2023-04-09

Расширенные настраиваемые поля (ACF) почти синонимичны разработке WordPress. Этот плагин, поддерживающий более 4,5 миллионов сайтов, помог WordPress достичь новых высот. Вы знаете плагин. Вы, вероятно, строили с помощью плагина. Но пользуетесь ли вы им в полной мере?

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

Видео: 7 возможностей расширенных настраиваемых полей, о которых вы не знали

Динамики:

  • Иэн Поулсон, старший менеджер по продуктам в WP Engine
  • Роб Стинсон, менеджер по маркетингу продуктов в WP Engine

Слайды сессии:

7 вещей, которые вы не знали, что могли бы сделать с расширенными пользовательскими полямиСкачать

Стенограмма:

Иэн Поулсон: Здравствуйте, и добро пожаловать на нашу сессию, посвященную плагину Advanced Custom Fields. Меня зовут Иэн Поулсон, менеджер по продукту ACF в WP Engine, и ко мне здесь присоединился Роб Стинсон, наш менеджер по маркетингу продуктов. Сегодня мы проведем вас через довольно быстрый сеанс семи вещей, о которых вы не знали, что можете делать с помощью плагина Advanced Custom Fields, некоторых довольно новых и менее известных вещей. И функциональность, которую мы собираемся сосредоточить вокруг вымышленного сайта, разработанного Робом, так что мы в основном фанаты реальных примеров, а не абстрактных вещей, но мы также большие поклонники фильмов.

Таким образом, этот сайт посвящен лучшему периоду кинематографа, возможно, фильмам 90-х годов, и поэтому сайт основан на признании и награждении самых популярных и любимых фильмов 90-х годов. Сайт должен демонстрировать фильмы и позволять пользователям голосовать за понравившиеся фильмы, и в истинном стиле Роба сайт выглядит великолепно. Итак, давайте начнем, и начнем с самого начала, и установим ACF. Скажи мне как, Роб.

РОБ Стинсон: Круто, спасибо, Иэн. Да, спасибо, чувак. Выглядит неплохо, не правда ли? Это было хорошее время, чтобы разработать его, повеселиться. Итак, мы выиграли контракт. У нас есть проект, и мы приступаем к делу, и первое, что мы сделали, это определили, что это имеет смысл, во-первых, для ACF. Нам нужно настроить целую кучу настраиваемых полей для некоторых настраиваемых типов сообщений, а также сделать несколько интересных шаблонов и тому подобное. ACF является инструментом для работы здесь. Итак, конечно, сначала нам нужно установить ACF, и это здесь номер один. Обычно мы знаем, что вы можете просто взять плагин в виде zip-файла и загрузить его в панель администратора WordPress, красиво и просто.

Это стандартный способ установки подключаемого модуля, но мы также знаем, что современные разработчики предпочитают управлять своими зависимостями немного по-другому. Обычно мне нравится управлять им в коде и в мире PHP, что обычно делается с помощью Composer. Теперь вы могли довольно легко устанавливать плагины WordPress из репозитория WordPress.org с помощью Composer, но это было немного сложнее сделать с плагинами премиум-класса, такими как ACF Pro.

Но самый последний релиз пару недель назад, на самом деле около месяца назад, мы на самом деле включили возможность установить ACL Pro прямо сейчас через Composer, что просто фантастика, так что мы собираемся сделать это прямо сейчас. Итак, как это сделать, шаг номер один, вам нужно добавить URL-адрес репозитория ACF Pro Composer в ваш файл composer.JSON. Шаг номер два: вы создадите файл auth.JSON для своих учетных данных и поместите его в корень вашего проекта, как локально, так и по пути к месту развертывания и учетные данные, необходимые для этого файла, теперь доступны в области вашей учетной записи на сайте advancedcustomfields.com.

Итак, если вы войдете в систему, вы увидите область лицензий, а также несколько дополнительных вкладок и тому подобное, вы можете взять весь фрагмент кода, скопировать и вставить его целиком, или вы можете взять отдельное имя пользователя и пароль и перенесите его в созданный вами файл, файл auth.JSON.

И третий шаг, мы запускаем команду Composer, так что это приятно и просто, трехэтапный процесс, но фантастический, потому что это означает, как я уже сказал, что разработчики, которым нравится как бы иметь немного более тонкий контроль над тем, как они управляют своими зависимостями своего проекта, теперь вы можете делать это с помощью ACF Pro, и это просто фантастика. Конечно, по нему есть больше документации, поэтому, чтобы углубиться и просто посмотреть, как все это распаковывается, перейдите к документации на веб-сайте, и все будет готово. Круто, я собираюсь бросить Иэну номер два.

Иэн Поулсон: Хорошо, теперь давайте поговорим о настройке данных для сайта. Итак, настраиваемые типы записей — это основа WordPress для создания сайта, который состоит не только из записей или страниц. Это функция пользовательского типа записи, которая появилась в любой версии WordPress, превращает ее в настоящую CMS, и обычно это первый шаг, который разработчики делают при создании сайтов. И это всегда происходило за пределами ACF. Исторически сложилось так, что вы либо регистрируете тип сообщения с кодом, либо используете для этого другой плагин, но это часть пути, которая довольно хорошо соединяется с ACF. Так как часть ACF 6.1, эта функциональность приходит к плагину, так что это естественная отправная точка путешествия.

Вы хотите создать сайт с данными структуры данных, вы собираетесь создать тип сообщения. Вы собираетесь добавить к нему поля, а затем вы можете добавить некоторые таксономии, а затем вы начнете редактировать эти данные. Так что да, это то, что мы добавили в 6.1, и довольно интересно иметь полный поток создания в CMS. Итак, давайте искать сайт премии VHS. Нам нужно будет структурировать наши данные и заставить WordPress делать то, что нам нужно, поэтому с точки зрения типа записи, поскольку мы не хотим использовать записи и страницы, мы собираемся создать пользовательскую публикацию. тип для фильма, для хранения данных фильма, объекта данных или модели данных, но, очевидно, с точки зрения WordPress, это настраиваемый тип записи.

Мы хотим классифицировать фильмы с помощью таксономии, чтобы мы могли позволить пользователям легко просматривать фильмы того или иного жанра, а затем вы получите удобный интерфейс для просмотра, простые URL-адреса, которые позволят вам получить доступ к фильмам определенного типа. жанры. И нам понадобятся дополнительные поля для хранения структурированных данных о фильме, поэтому мы хотим, например, чтобы режиссер был текстовым полем. Нам понадобится число, в котором вышел фильм, и нам понадобится какая-то форма отношения, чтобы связать фильмы друг с другом, и, конечно же, нам нужно сохранить количество голосов, которые он получит, и это числовое поле.

Итак, давайте просто посмотрим в ACF 6.1, как мы собираемся это сделать. Итак, это экран ACF 6.1, и вы заметите немного другое, у нас есть меню на боковой панели. Теперь это ACF, а не просто настраиваемые поля, и это экран типа сообщения. Так что это просто я устанавливаю тип записи фильма. Здесь самый простой рабочий процесс: просто добавить метку в единственном числе для типа записи, то есть кино, метку во множественном числе, и автоматически сгенерировать ключ типа записи. Публичный параметр установлен по умолчанию, потому что я хочу, чтобы он был виден во внешнем интерфейсе, типе сообщения, и я хочу иметь возможность редактировать его в админке.

Итак, как только это сохранено и добавлено, хорошая вещь в связи здесь с ACF заключается в том, что следующим шагом в путешествии является то, что мы создали тип сообщения, хотим ли мы добавить поля к типу сообщения, или мы хотим связать существующие поля с типом записи или создать таксономию? Итак, мы можем сделать все это с этой точки здесь, поэтому, очевидно, нам нужно пойти и добавить эти поля. Хорошо, поэтому, нажав на это уведомление, чтобы добавить новые поля в тип сообщения о фильме, мы получим Редактор группы полей, и он предварительно заполнен внизу в метабоксе настроек.

Таким образом, правила расположения уже установлены, чтобы сказать, показывать эти поля, когда вы редактируете тип сообщения о фильме, а затем вы можете добавить свои поля, что я уже сделал здесь, на скриншоте. Итак, у нас есть режиссер, год, голоса и связанные фильмы. Затем, конечно, мы можем зарегистрировать пользовательскую таксономию, о которой мы говорили, добавив жанр и связав таксономию жанра с типом поста фильмов. Но это поля, которые мы добавили и которые присоединены к объекту фильма, но как насчет полей, которые нам нужны для хранения данных, которые могут быть более глобальными или общими для всего сайта? Роб, что у нас есть для этого?

Роб Стинсон: Круто, спасибо, Иэн, хорошо выглядишь. Наша модель контента работает хорошо, но мы еще не закончили. Мы уже рассмотрели установку ACF Pro через Composer и только что рассмотрели пользовательские типы записей и пользовательские таксономии в ACF. Теперь те две вещи, которые очень, очень свежие, но третья вещь, о которой я хочу рассказать сейчас, это старая, но полезная вещь. И так это было в плагине уже довольно много лет, но не все об этом знают, и не все до конца понимают ценность этого, поэтому мы сейчас рассмотрим глобальные поля со страницей опций.

Теперь, как правило, вы думаете о настраиваемом поле и о том, как оно хранит данные для определенного сообщения, страницы или пользовательского типа сообщения. Но иногда нам нужно хранить данные, которые связаны со всем сайтом, и отличным примером на нашем замечательном сайте наград VHS является такая верхняя панель уведомлений или рекламная полоса. И это полоса, которую мы хотим сохранить на каждой отдельной странице сайта. Домашняя страница, вы переходите на страницу фильма, она там. Вы переходите на страницу «О нас», на страницу «Контакты» или на страницу «Блог». Эта маленькая панель располагается по всему сайту независимо от того, куда переходит пользователь, поэтому не имеет смысла связывать эти релевантные данные с публикацией или фильм.

Это то, что должно быть связано с сайтом. Итак, мы хотим иметь возможность включать и выключать эту панель, потому что мы хотим что-то настроить, но, возможно, мы захотим включить ее в определенное время года. У нас может быть определенная акция или кампания, поэтому нам нужна возможность иметь логическое поле, чтобы мы могли включать и выключать эту функцию. Кроме того, мы хотим иметь возможность обновлять текст самого вызываемого действия или кнопки, поэтому, конечно, настраиваемые поля имеют для этого большое значение.

Теперь, чтобы настроить страницу параметров, которая представляет собой функцию в ACF, которая позволяет нам это сделать, шаг номер один, как правило, в ваших функциях, в файле .PHP, или вы можете, конечно, зарегистрировать его в другом месте, возможно, плагин, который вы разрабатываете. Но вы собираетесь зарегистрировать саму страницу параметров, и в настройках есть несколько небольших конфигураций, которые вы можете сделать. У вас может быть одна страница параметров, но на самом деле их может быть и несколько, и они будут как бы вложенными, то есть дочерние страницы или родительские страницы и тому подобное, так что вы можете делать интересные вещи.

Для нас это довольно просто. Здесь мы просто настраиваем панель уведомлений, поэтому нам нужна только одна страница, поэтому первый шаг — зарегистрировать эту страницу параметров. Шаг второй, как обычно, мы создадим группу полей. Мы бы назвали это полями промо-бара или что-то в этом роде, или полями панели уведомлений, и вы можете видеть, что у меня вверху есть мое логическое поле, так что true или false — это активная промо-панель. И затем у меня есть текстовое поле для сообщения, текстовое поле для текста кнопки, поле URL для ссылки кнопки, и затем у нас также может быть тип уведомления, но, возможно, мы хотим иметь предупреждения или рекламный стиль уведомления, и, возможно, мы делаем некоторые интересные условные стили, основанные на том, что там выбрано.

Итак, мы добавляем нашу группу полей, и мы добавляем наши поля, и третий шаг чуть ниже этого. Как вы знаете, в правилах местоположения теперь мы можем выбрать страницу «Параметры», которая равна — и вы видите настройки сайта, которые у меня есть — это страница «Параметры», которую я зарегистрировал на шаге номер один. Итак, после всего, что сделано, в панели администратора WordPress теперь мы видим слева, в нашей панели администратора у нас есть «Настройки сайта», и мы нажимаем на нее, и мы видим все поля, как и ожидалось.

И мы можем включить или выключить панель уведомлений. Мы можем обновить текст, обновить кнопку, а затем эти данные станут доступными для наших шаблонов, и поэтому опыт работы с шаблонами с полями данных на странице параметров в целом такой же, как и в противном случае. Есть несколько небольших нюансов, связанных с тем, как вы конкретно ориентируетесь на тот факт, что это страница параметров, а не сообщение, но перейдите к документации на advancedcustomfields.com, и она проведет вас через все, как с этим справиться. Номер четыре, я верну это тебе, Иэн.

Иэн Поулсон: Спасибо, Роб, да. Сейчас я просто хочу поговорить о том, как мы программно регистрируем поля с помощью ACF. Таким образом, создавать поля в ACF очень просто с помощью пользовательского интерфейса редактора полей, который мы знаем и любим, мы видели ранее, но есть и другие способы определения полей. ACF позволяет нам экспортировать файлы JSON и PHP с определениями полей, которые можно использовать для создания полей.

Но знаете ли вы, что на самом деле в сообществе ACF есть пакет под названием ACF Builder, который позволяет вам создавать поля с помощью своего рода плавного API с кодом PHP? На самом деле это сторонний пакет, и он называется пакетом ACF Builder от StoutLogic. Да, ссылка на GitHub есть. По сути, он позволяет создавать поля прямо из кода, не зная тонкостей того, как ACF использует данные полей в PHP. Он использует действительно своего рода выразительный способ сделать это. Это делает его многоразовым и портативным.

Вы можете зафиксировать определения полей, потому что с файлами PHP в системе контроля версий легко сотрудничать. Его легко отправить в ваш механизм развертывания, и вы также как бы убираете пользовательский интерфейс редактора группы полей, поэтому вы определяете эти поля в коде, который затем не позволяет клиентам прикасаться к пользовательскому интерфейсу, поэтому давайте быстро посмотрим, как мы сделай это. Чтобы установить его, потому что это пакет — мы говорили о Composer ранее. Это пакет Composer, который можно установить с помощью следующей команды: Composer получает StartLogic, поставщика, ACF Builder, и вот как выглядит код.

Вы как бы создаете экземпляр Fields Builder и даете ему фрагмент того, что будет группой полей. А потом вы говорите, что в эту группу полей давайте добавим текстовое поле под названием «Директор». Давайте добавим числовое поле под названием «Год», а затем, что важно, мы собираемся установить местоположение группы полей, которая будет отображаться в типе записи фильма.

И все это делает многое для вас без необходимости думать об этом, поэтому вы даете ему имя директора для метки поля, и он будет работать дальше и, очевидно, создаст слаг или ключ для поля без вашего участия. чтобы добавить это, так что это отнимает много ввода, много размышлений и много подверженного ошибкам создания. И затем во второй части вы загружаете это определение поля в ACF, и оно создаст для вас группу полей.

Роб Стинсон: Итак, номер 5 здесь, двунаправленные отношения. А вот это интересно. Я думаю, что помню конкретный проект, над которым я работал в те дни, когда я работал в агентстве, когда я действительно понял это, и это как бы изменило правила игры. Так что, если вы раньше не делали этого с ACF, обратите внимание, потому что это действительно полезная вещь, так что давайте рассмотрим пример. Глядя, конечно, на наш сайт наград VHS, у нас есть список, скажем, из 100 фильмов, и, очевидно, есть разные способы связать эти вещи.

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

Теперь это означает, что, скажем, у нас есть наш первый фильм, «История игрушек», отличный фильм, и мы определяем, что есть еще два связанных фильма, которые мы хотим связать с ним. Таким образом, мы могли бы создать поле отношений для нашего пользовательского типа сообщений, то есть фильмов, и у нас было бы поле отношений, и мы бы выбрали фильм «Король Лев» и принцы Монон — мне очень жаль. Я постоянно спотыкаюсь об это слово. Я разделываю его, но фильм называется «Принцесса Мононоке». Ха, ха, ха. Пожалуйста, не ненавидь меня. Я просто почему-то с трудом произношу это слово.

И мы определяем, что эти два фильма связаны между собой, поэтому мы выбираем их из поля «Отношения». Теперь в этом случае имело бы смысл, что да, «Король Лев», например, связан с «Историей игрушек», и, следовательно, «История игрушек» связана с «Королем Львом». Так что, возможно, обычно мы переходим к экрану редактирования «Короля Льва», а затем находим «Историю игрушек» и добавляем ее туда, но здесь мы удваиваем нашу работу. Двунаправленные отношения делают то, что они автоматически создают это соединение для нас, что очень, очень полезно.

Поэтому, когда мы добавляем, например, «Короля Льва» к «Истории игрушек», «История игрушек» автоматически добавляется к «Королю Льву», и это очень, очень полезно. Это экономит много времени создателям контента и контент-менеджерам. Это снижает риск забывания, или, возможно, вы можете удалить одно из одного сообщения, а затем забыть удалить его из другого. Это действительно очень упрощает процесс редактирования контента, так что это действительно полезная вещь, которую можно использовать, особенно на таких интересных сайтах, как этот. Итак, как мы это делаем? Что ж, в настоящее время есть два способа сделать это, и я расскажу о третьем, возможно, который появится позже в этом году.

Итак, как это делается, во-первых, вы можете сделать это в коде. Таким образом, просто установив подключаемый модуль ACF Pro, вы можете написать код для этого. И вы можете написать функцию, которая подключается к фильтру обновления значений ACF, и этот фильтр запускается до того, как значение будет сохранено, и в основном то, что он делает, захватывает текущую публикацию, которую вы редактируете, и идентифицирует идентификатор публикации публикации. это было добавлено, а затем обновляет другой пост и выполняет такое сопоставление в фоновом режиме для вас, что очень полезно.

Немного кода, так что, пока вам это удобно, это не слишком тяжелая работа. Но опять же, там есть ссылка или URL-адрес, который вы можете проверить в документах Advanced Custom Fields, чтобы увидеть, как вы можете это сделать. Однако второй вариант — это отсутствие кода, что иногда бывает неплохо. Так что на самом деле это подключаемый модуль экосистемы под названием ACF Extended. Он доступен на WordPress.org, и он просто переносит эту функцию в сам пользовательский интерфейс ACF.

Таким образом, если вы установили это расширение, ACF Extended, и у вас установлен ACF Pro, вы увидите параметр, при котором при создании поля отношений есть двунаправленный переключатель, который вы можете включить, а затем вы можете установите это в коллекцию прямо из пользовательского интерфейса, что очень удобно. Сейчас дела с этим проектом идут очень интересно, но давайте не будем терять голову, а не стоит ли? Ян, к вам.

Иэн Поулсон: Да, спасибо, Роб. Когда дело доходит до ACF, стоит вызвать безголового. ACF имеет поддержку безголовых, так что да, базовые безголовые сайты, несвязанная природа сайтов. Происходит много обмена данными через API, и у ACF есть поддержка API. REST API мы изначально добавили в ACF в версии 5.11 или 5.11, и мы поддерживаем GraphQL с плагином WP GraphQL, который имеет надстройку ACF для WP GraphQL, поэтому ACF поддерживает безголовые сайты. Он имеет интеграцию с программой WP Engine Atlas для правильных безголовых сайтов WordPress, но давайте поговорим о простом примере из реального мира того, как можно взять данные, находящиеся на нашем сайте VHS WordPress, и использовать их несвязанным образом.

Так, например – послушайте меня – люди в основном голосуют на сайте награждения VHS, и они будут – я думаю, мы устанавливаем произвольную дату – они должны голосовать до конца определенной даты, и мы посмотрю, что самое популярное. У нас есть местный кинотеатр, и он делает двойной список самых популярных фильмов 90-х. Итак, в кинотеатре у них есть рекламный щит, и он онлайн. Он подключен к Интернету, и мы можем динамически управлять тем, что отображается на этом рекламном щите, поэтому нам нужно подключиться к нашему сайту WordPress.

Например, рекламный щит — это простое приложение узла, нам нужно получить данные с сайта VHS, поэтому давайте просто посмотрим, как мы можем сделать это с пользовательской конечной точкой REST API, и, как я уже говорил, мы получил поддержку GraphQL. Это можно сделать обоими способами, но это, вероятно, более простой пример для демонстрации. Итак, прежде всего, мы создадим функцию, которая в основном получает данные, которые нам нужны, так что, просто пройдя через это, это запрос WP, который говорит: я хочу фильмы или публиковать типы фильмов, но я только хочу два. Но я также хочу упорядочить его по полю ACF, имя поля которого — голоса, и мы упорядочиваем его в порядке убывания, поэтому мы собираемся получить первое место, и мы собираемся получить первое место. два.

А затем мы создадим пользовательскую конечную точку REST, которая использует функцию обратного вызова, которую мы создали на предыдущем слайде, и это просто даст нам конечную точку, которую мы можем нажать, чтобы пойти и получить два фильма. Итак, как это на самом деле выглядит на самом деле — и это только тестирование — так что URL — это vhsawards.com, WP-JSON, а затем мы дали ему пространство имен VHS версии 1 на случай, если мы когда-нибудь захотим изменить API, и мы только что получили очень простую структуру URL-адреса Popular.

И это просто возвращает объект JSON с двумя элементами, двумя лучшими по результатам голосования, которыми так получилось, что являются «Бойцовский клуб» и «Славные парни», которые довольно хороши, так что да. Это определенно хорошо, чтобы показать, как ACF поддерживает несвязанные и безголовые сайты, но сейчас довольно сложно говорить о WordPress, не упоминая блоки. Я не могу поверить, что мы зашли так далеко, даже не упомянув блоки. Что у тебя есть для нас, Роб, чтобы изменить это?

Роб Стинсон: Нам определенно нужно поговорить о блоках. Еще до того, как я это сделал, я понял, что как раз перед тем, как мы рассмотрели номер пять двунаправленных отношений, я намекнул на третий способ сделать это. Я не рассказывал об этом, поэтому все, что я хочу сказать, это следить за этим пространством, потому что мы планируем, у нас есть дорожная карта, чтобы посмотреть на добавление лучшей поддержки двунаправленных отношений в сам плагин, чтобы вы могли упростить этот материал, просто в плагине ACF без необходимости использования сторонних материалов, так что просто смотрите это пространство, никаких обязательств по времени. Это то, на что мы смотрим.

Итак, номер семь, да. Давайте рассмотрим создание пользовательского блока с помощью ACF. Теперь большинство людей знают, что вы можете сделать это в ACF сейчас, но не обязательно все пробовали это. Так что, если вы находитесь в этом лагере и являетесь давним пользователем ACF, и вы еще не использовали функцию пользовательского блока, посмотрите это, потому что это может просто предложить вам увидеть ценность этой функции. Но как мы собираемся использовать это для VHS Awards? Возможно, мы хотим иметь блочный компонент для нашего сайта, который мы можем добавлять в различные места, и красота пользовательского блока или любого блока заключается в том, что его можно использовать и размещать на страницах и в сообщениях по всему сайту, и мы хотим для создания пользовательского блока призыва к действию.

Теперь это довольно простой блок, и вы определенно можете делать более интересные вещи с пользовательскими блоками. Мы будем держать это просто сейчас. Но этот синий баннер с призывом к действию, который мы хотим разместить на главной странице или, может быть, в некоторых сообщениях в блогах и тому подобном, поощряя читателей и посетителей сайта нажимать эту кнопку, переходить и проголосовать за свой любимый фильм 90-х. Итак, как бы мы построили этот пользовательский блок с помощью ACF? И причина, по которой мы делаем это как пользовательский блок, заключается в том, что у него уникальный дизайн.

У него есть этот интересный фоновый градиент для этого повторяющегося точечного узора, и мы поняли, что нам проще построить его в виде пользовательского блока с точно настроенным управлением, которое дает нам, по сравнению с тем, что мы могли бы сделать с блоками, которые находятся за пределами полка с ядром WordPress. Итак, как мы это сделаем? Шаг номер один: мы регистрируем наш пользовательский блок, обычно в functions.PHP или где бы вы ни писали такой код. Красиво и просто, и мы указываем каталог, в котором в конечном итоге будут файлы шаблонов для нашего пользовательского блока, так что это шаг номер один.

Шаг номер два, мы создаем нашу группу полей и добавляем наши поля. Итак, для нашего блока «Вызванное действие» мы также хотим иметь текст, текст кнопки, ссылку на кнопку и цвет фона. Возможно, мы хотим дать возможность для некоторых вариантов стиля для этого. В-третьих, мы собираемся, в правилах местоположения, мы собираемся выбрать блок, и мы собираемся сказать, что он равен, и мы только что зарегистрировали блок CTA, и поэтому он доступен для нас там в этом раскрывающемся списке. Теперь мы переходим к нашему файлу шаблона, так что все поля и все настроено, и теперь мы собираемся сделать некоторые из наших шаблонов. Теперь создание шаблонов в некоторых отношениях отличается от того, как вы, возможно, традиционно создаете шаблоны с помощью ACF.

Но во многих других отношениях это очень, очень похоже, поэтому многие шаблоны, которые вы обычно используете для своей разработки, вы будете использовать при создании своих пользовательских блоков, и это фантастика. Итак, в нашем проекте мы скажем, что это наша пользовательская тема. У нас есть каталог блоков, затем у нас есть каталог CTA, который соответствует зарегистрированному нами блоку, а затем, как правило, у вас будет три файла шаблона, block.JSONsomething.PHP, который является нашей HTML-разметкой, а затем точка CSS для нашего стайлинг.

Итак, это тип блока JSON, и это своего рода место, где мы зарегистрировали блок, но так мы можем немного больше разобраться, и здесь вы можете многое сделать с конфигурацией и различными встроенными функциями ядра, которые вы можете включить или отключить доступ к своему пользовательскому блоку. Поэтому обязательно ознакомьтесь с документацией по этому вопросу и поймите, что можно сделать, потому что именно здесь вы действительно можете, как я уже сказал, настроить, как этот блок становится доступным, и отображать, и функции, основные функции, через которые вы можете пройти. в свой пользовательский блок.

Затем у нас есть наш файл шаблона, наш файл PHP, и вы можете видеть здесь, я просто настраиваю переменные, взаимодействующие с полем Get, взаимодействующие с данными нашего поля, немного очень простой условной логики для нашего стиля, а затем наш HTML для самого нашего блока. А то я не буду проходиться по УСБ. Вы знаете, что такое CSS, и я уверен, что вы могли бы написать лучший CSS, чем то, что я написал здесь, но вы поняли идею. У вас есть файл CSS для стиля вашего блока, и вы можете видеть, что у нас есть некоторые интересные вещи, связанные со шрифтами, и радиальный градиентный фон для такого рода точечного фона, что довольно забавно.

Но опять же, причина, по которой мы создаем этот пользовательский блок, заключается в том, что мы хотим, чтобы он действительно точно настраивал наш CSS, наш стиль, чтобы мы могли действительно реализовать дизайн, над которым мы работаем. И просто чтобы показать вам, как это выглядит в Редакторе, вы можете видеть, мы можем выбрать наш блок Called Action, вы можете засветить широко. Мы можем взаимодействовать с нашими полями, добавлять текст для текста и кнопки, а также добавлять ссылку для кнопки, и это очень красивый настраиваемый блок, который мы можем передать нашим редакторам контента.

Иэн Поулсон: Да, спасибо, Роб. Какое приятное зрелище. Нам действительно нужно воплотить это в жизнь. Это замечательно. Хорошо, давайте просто пробежимся по тому, о чем мы говорили сегодня. Итак, мы рассмотрели, как установить ACF Pro, но уже с Composer. Мы говорили о том, как регистрировать пользовательские типы записей и таксономии в ACF. Мы рассмотрели регистрацию глобальных или общесайтовых полей с помощью страницы параметров и рассмотрели другой способ программной регистрации полей с помощью пакета.

Роб углубился в отношения и в то, как создавать двунаправленные отношения. Мы коснулись безголового с ACF, и Роб только что сделал отличный пример создания пользовательского блока с ACF практически без каких-либо действий, кроме PHP, HTML и CSS, и вообще не реагирует, так что это действительно хорошо. Это было здорово, Роб. Какие голоса? Какими мы вышли?

Роб Стинсон: Послушайте, для меня все сводится к следующему: величайший фильм 90-х — это, несомненно, «Крюк» Робина Уильямса. Много ностальгии обернулось для меня в этом, я люблю этот фильм. А ты, Иэн?

Иэн Поулсон: Для меня это должен быть «Робин Гуд, принц воров» Кевина Костнера. Это классика. Забудьте о плохих волосах, кефалях, хитроумном английском акценте, который даже не английский акцент. Это величайший фильм о Робин Гуде всех времен, и я готов умереть на этом холме.

Роб Стинсон: Ха-ха, нет, честно. Слушайте, спасибо всем, что пообщались. Я надеюсь, что вы чему-то научились, и мы действительно с нетерпением ждем того, что вы создадите с помощью ACF, ура.