Elettracompany.com

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Get field php

get_field()

Обзор

Возвращает значение конкретного поля.

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

Параметры

  • $selector (строка) (обязательное) Имя поля или ключ поля
  • $post_id (смешанный) (необязательное) ID поста для которого сохранено поле. По умолчанию текущий пост
  • $format_value (логический) (необязательное) Следует ли применять логику форматирования. По умолчанию true.

Использование

Получение значения текущего поста

Пример показывает, как получить значение «текстового» поля из текущего поста.

Получение значения из конкретного поста

Пример показывает, как получить значение «текстового» поля из поста с ID = 123.

Проверка на существование значения

Пример показывает, как проверить задано значение для поля или нет.

Получение значения из различных объектов

Пример показывает, как с помощью параметра $post_id можно получать значения из постов, пользователей, рубрик, таксономий и страниц с опциями.

Получение значения без форматирования

В этом примере, поле image, являющееся типом поля «Изображение», по умолчанию возвращает Image объект. Тем не менее, если поставить значение 3 параметра у функции get_field в положение false, то возвращаемое значение никогда не будет форматироваться и вернется как есть из базы данных.

Обратите внимание, что 2 параметр должен быть false, если вы хотите получить значение для текущего поста.

Похожие

  • Основы: Вывод значений на сайте

Интернет-магазин «wp-book.ru», расположенный на доменном имени wp-book.ru, именуемое в дальнейшем «Продавец», публикует Публичную оферту о продаже Товара дистанционным способом.

  1. ОПРЕДЕЛЕНИЕ ТЕРМИНОВ

1.1. Публичная оферта (далее – «Оферта») — публичное предложение Продавца, адресованное неопределенному кругу лиц, заключить с Продавцом договор купли-продажи товара дистанционным способом (далее — «Договор») на условиях, содержащихся в настоящей Оферте, включая все Приложения.

1.2. Заказ Товара на сайте Интернет-магазина – позиции, указанные Покупателем из ассортимента Товара, предложенного к продаже, при оформлении заявки на приобретение Товара на сайте Интернет-магазина или через Оператора.

  1. ОБЩИЕ ПОЛОЖЕНИЯ

2.1. Заказ Покупателем Товара, размещенного на сайте Интернет-магазина означает, что Покупатель согласен со всеми условиями настоящей Оферты.

2.2. Администрация сайта Интернет-магазина имеет право вносить изменения в Оферту без уведомления Покупателя.

2.3. Срок действия Оферты не ограничен, если иное не указано на сайте Интернет-магазина.

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

3.1. Цена на каждую позицию Товара указана на сайте Интернет-магазина.

3.2. Продавец имеет право в одностороннем порядке изменить цену на любую позицию Товара.

3.3. В случае изменения цены на заказанный Товар Продавец обязуется в течение 10 дней проинформировать Покупателя об изменении цены Товара.

3.4. Покупатель вправе подтвердить либо аннулировать Заказ на приобретение Товара, если цена изменена Продавцом после оформления Заказа.

3.5. Изменение Продавцом цены на оплаченный Покупателем Товар не допускается.

3.6. Продавец указывает стоимость доставки Товара на сайте Интернет-магазина либо сообщает Покупателю при оформлении заказа Оператором.

3.7. Обязательства Покупателя по оплате Товара считаются исполненными с момента поступления Продавцом денежных средств.

3.8. Расчеты между Продавцом и Покупателем за Товар производятся способами, указанными на сайте Интернет-магазина в разделе Контакты

  1. ОФОРМЛЕНИЕ ЗАКАЗА

4.1. Заказ Товара осуществляется Покупателем сервис сайта Интернет-магазина acf.wp-book.ru.

4.2. При регистрации на сайте Интернет-магазина Покупатель обязуется предоставить следующую регистрационную информацию:

4.2.1. фамилия, имя, отчество Покупателя или указанного им лица (получателя);

4.2.2. адрес, по которому следует доставить Товар (если доставка до адреса Покупателя);

4.2.3. адрес электронной почты;

4.2.4. контактный телефон.

4.3. Наименование, количество, ассортимент, артикул, цена выбранного Покупателем Товара указываются в корзине Покупателя на сайте Интернет-магазина.

4.4. Если Продавцу необходима дополнительная информация, он вправе запросить ее у Покупателя. В случае не предоставления необходимой информации Покупателем, Продавец не несет ответственности за выбранный Покупателем Товар.

4.6. Принятие Покупателем условий настоящей Оферты осуществляется посредством внесения Покупателем соответствующих данных в регистрационную форму на сайте Интернет-магазина или при оформлении Заказа через Оператора. После оформления Заказа через Оператора данные о Покупателе регистрируются в базе данных Продавца. Утвердив Заказ выбранного Товара, Покупатель предоставляет Оператору необходимую информацию в соответствии с порядком, указанном в п. 4.2. настоящей Оферты.

4.7. Продавец не несет ответственности за содержание и достоверность информации, предоставленной Покупателем при оформлении Заказа.

4.8. Покупатель несет ответственность за достоверность предоставленной информации при оформлении Заказа.

4.9. Договор купли-продажи дистанционным способом между Продавцом и Покупателем считается заключенным с момента получения Продавцом сообщения о намерении Покупателя приобрести Товар.

  1. ДОСТАВКА И ПЕРЕДАЧА ТОВАРА ПОКУПАТЕЛЮ

5.1. Продавец оказывает Покупателю услуги по доставке Товара одним из способов указанных на сайте Интернет-магазина.

5.2. Если Договор купли-продажи товара дистанционным способом (далее – Договор) заключен с условием о доставке Товара Покупателю, Продавец обязан в установленный Договором срок доставить Товар в место, указанное Покупателем, а если место доставки Товара Покупателем не указано, то по месту его жительства или регистрации.

5.3. Место доставки Товара Покупатель указывает при оформлении Заказа на приобретение Товара.

5.4. Срок доставки Товара Покупателю состоит из срока обработки заказа и срока доставки.

5.5. Доставленный Товар передается Покупателю, а при отсутствии Покупателя — любому лицу, предъявившему квитанцию или иной документ, подтверждающий заключение Договора или оформление доставки Товара.

5.7. Информация о Товаре доводится до сведения Покупателя в технической документации, прилагаемой к Товару, на этикетках, путем нанесения маркировки или иным способом, принятым для отдельных видов товаров.

Читать еще:  Решение системы дифференциальных уравнений в matlab

5.8. Сведения об обязательном подтверждении соответствия Товара представляются в порядке и способами, которые установлены законодательством Российской Федерации о техническом регулировании, и включают в себя сведения о номере документа, подтверждающего такое соответствие, о сроке его действия и об организации, его выдавшей.

Внимательно ознакомьтесь с текстом публичной оферты, и если Вы не согласны с каким-либо пунктом оферты, Вы вправе отказаться от покупки Товаров, предоставляемых Продавцом, и не совершать действий, указанный в п. 2.1. настоящей Оферты.

Вывод произвольных полей плагина ACF на внутренних страницах

Подскажите пожалуйста как вывести произвольное поле ACF в category.php и в single.php

пробую так не работает. the_field тоже не работает.

Где 999 — ID страницы, на котором находится произвольное поле «work-mode».

Если не указывать id (999), то функция получает $post->ID (id текущей страницы).

и вообще, проверка не верна, проверять надо либо одну переменную либо функцию.

А лучше их не проверять, смысла нету

и вообще, проверка не верна

Вы не правы, правильная проверка! И так лучше чем:

Потому что функцию вызывается один раз.

Здравствуйте. Делаю шаблон для вывода таксономии, получается такой код

Проблема с выводом картинки через ACF

Подскажите, пожалуйста, что не так?

Начнем с начала и в вкратце.
Стандартные категории WP являются Таксономией.
К Таксономиям не обращаются по ID в виде Цифр.
Вызывая get_field в таксономии без ID, вы обращаетесь непонятно к чему.

Для корректного вызова нужно узнать название Таксономии (ее слаг) и ID Терма, где лежит произвольное поле, совместить их подчерком «_» и вызвать.

В конце концов должно быть что то похожее на это:

Спасибо. Перепробовал уже всё. Не выводит. Произвольное поле Изображение, значение — Ссылка на изображение. Имя поля верное. Ставил подобные поля в шаблонах single и content, всё выводит, а тут нет.

Всё получилось. Спасибо большое. Сделал так —

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

Или как сказал @naikyavd у вас неправильно определяется ID поста и вам нужно указать ID записи во втором параметре.

Как вариант, посмотрите как называется произвольное поле и выведите его с помощью стандартной функции wordpress: get_post_meta()

Спасибо большое, сейчас уже реализовал вывод информации через виджет, но чуть позже обязательно проверю) Всем большое спасибо

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

А никого не смущает, что проверяется не оператором сравнения ( == или === ), а оператором присваивания ( = )?

Это нормально! Тут идет присвоение и затем проверка полученной переменной — две операции в одной строке, чтобы потом заюзать эту переменную без повторного вызова функции.

PHP if / else get_field () с WordPress

Я пытаюсь дать клиенту некоторые опции в бэкэнде WP, чтобы настроить карусель, которая отображается на домашней странице их сайта. Я использую Advanced Custom Fields для обработки ввода от клиента. Я хочу дать им два варианта:

Вариант № 1) Позволяет клиенту вставлять строку текста для отображения (‘carousel_title_text’)

Вариант № 2) Позволяет клиенту загружать логотип для отображения (‘carousel_logo’)

Я хочу, чтобы код проверял текст заголовка, а если его нет, вместо него отображается логотип. Я еще не решил, что произойдет, если оба поля будут пусты. Во всяком случае, вот что я придумал:

«Carousel_title_text» отображается до тех пор, пока есть вход, но когда он пуст, а «carousel_logo» нет, логотип не выводится должным образом. Может кто-нибудь сказать мне, что я делаю неправильно или есть лучший подход?

Решение

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

заголовок клиента по умолчанию указывает на то, что он не ввел текст слайдера

Надеюсь, это работа для вас.

Другие решения

Если я правильно понял, ваша проблема не с If/Else заявление, но с полем логотипа. Я полагаю, вы правильно настроили это поле ( carousel_logo ) как Образ в АКФ.

Образ поля предлагают три разных Возвращаемое значение возможности:

Замечания: В некоторых версиях ACF вы найдете Объект изображения вместо Массив изображений, но концептуально то же самое.

Ни один из них не покажет ваше изображение правильно, если вы просто используете the_field(‘carousel_logo’); в вашем шаблоне. Так, как вы получаете свой логотип?

Если вы хотите самое простое решение, выберите URL изображения как Возвращаемое значение для вашего поля логотипа и распечатайте его так:

Читать еще:  Скалярное произведение matlab

Я немного изменил ваш код, но в основном ключевая строка здесь:

Это или эквивалент:

должен показать ваше изображение, когда заголовок отсутствует.

Бонус: Если вы работаете с разными размерами миниатюр, я бы порекомендовал вам использовать Массив изображений как Возвращаемое значение. В таком случае, $logo будет массив, содержащий всю информацию (например, размеры, все URL-адреса миниатюр, подписи и т. д.)

где ‘medium’ твой размер эскиза метка для вывода.

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

Похоже, что это связано с настройками для логотипа, который я предполагаю, это поле изображения? В админке WordPress будет настройка под этим полем под названием «Возвращаемое значение», которая может быть установлена ​​в «Массив» или «URL».

Если для этого параметра установлено значение «Массив», вам необходимо сохранить этот массив в переменной, а затем получить доступ к его свойствам в разметке следующим образом:

В качестве альтернативы вы можете установить в своем поле только возврат URL-адреса изображения и затем получить к нему доступ следующим образом:

Документация ACF в области изображений предоставит больше информации по этому вопросу.

Плагин ACF: advanced custom fields wordpress

Привет всем, как и обещал сегодня опишу очень функциональный плагин для создания произвольных полей — Advanced Custom Fields WordPress. Долго чет не мог собраться с мыслями и вот наконец то пришла муза. Приступим.

Плагин Advanced Custom Fields на сегодня (20.08.15) имеет более 1 миллиона активных инсталов и это число продолжает упорно расти. Он предназначен для работы с произвольными полями у ВП, но в отличии от остальных плагинов умеет создавать не только custom field для постов / страниц, а и для других частей сайта.

ACF может создавать произвольные поля для:

  • постов / страниц;
  • категорий;
  • меток;
  • таксономий;
  • пользовательских типов;
  • пользователей;
  • всего сайта, в отдельную вкладку, с помощью дополнения.

Прикладываю скриншот справа для всех типов полей на тот случай если я что то пропустил.

Теперь вдумайтесь, для всех этих блоков произвольных полей Advanced Custom Fields WordPress может создавать данные такого типа:

Обычное типичное текстовое поле

Область текста / textarea

Область текста с конвертацией хтмл тегов и новых линий без редактора.

текстовые поля: телефон, email, пароль

Не чем не отличающие поля от аналогов хтмл.

Вставляет редактор в поле для ввода произвольного поля текст. Выглядит это вот как то так:

и редактор имеет множество своих настроек. можно отключить не нужные кнопки.

Поле для вставки произвольных изображений, которое может хранить его как: ссылку на изображение, объект ВП или просто сохранить идентификатор изображения.

Выбрать / он же select

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

Это так сказать 2 в 1, поле которое может выступать как радио кнопка или как обычный чекбокс с множественным выбором

Блок отношения: ссылка / объект / таксономия / взаимоотношения / пользователь

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

jQuery google карта

Тип данных что хранить информацию о координатах объектов, при этом в админке добавляется вот такая google maps:

Теперь добавить адрес и указать координаты на google maps из админки WordPress проще чем на большинстве CMS.

Текстовый блок, который умеет форматировать даты + вот такая незаурядная выпадашка:

Текстовый блок к которому привинтили вот такой jQuery редактор:

Как работать с advanced custom fields

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

Любое поле можно получить используя функцию get_field($field_name, $post_id, $format_value):

$field_name — имя поля;

$post_id — идентификатор поста, страницы (по умолчанию это идентификатор поста / страницы, но можно указывать ID таксономии, пользователя, категории и так далее);

$format_value — (true / false) форматировать или нет полученные данные с базы.

Работать с функцией можно вот так:

Перед этим конечно нужно создать поле с именем «my_field» и заполнить его через админку. Надо сразу уточнить, что никто не отменял работу функции для wordpress custom fields — get_post_meta, она описанная в указанной ссылке.

Единственный момент: если вы будете использовать get_post_meta вместо get_field для получения изображения, файла, даты, чекбокса — то у вас ничего не получится. Проблема в том что функция вордпреса не знает такого форматирования данных от сюда и проблемы. Для таких типов данных нужно использовать именно get_field.

В принципе, описанной выше функции достаточно для работы с любым полем advanced custom fields. Ей можно получать обычный отформатированный текст, координаты объектов, цвет, дату, взаимоотношение и много другое.

Примеры работы с функцией get_field в advanced custom fields

Получаем и выводим данные с произвольно поля «Редактор WYSIWYG» он же tinyMCE (если подключен), конечно перед этим нужно не забыть добавить такое произвольное поле:

Получаем произвольное изображение из advanced custom fields wordpress:

При условии что у нас в базе хранится именно изображение как ссылка:

Получаем координаты объекта из поля jQuery google maps:

тут важный момент, координаты будут в массиве, вот такое представление:

Получаем текстовое поле для категории:

переменная $cat у вашем макете должна быть автоматически заполненная, по этому вам достаточно создать текстовое поле для категории с именем «CAT_TXT», ну и не забыть заполнить его.

На этом пока что все, постараюсь в ближайшее время выложить еще несколько постов по работе с плагином advanced custom fields wordpress для создания произвольных полей у вордпресе. Следите за выходом новый записей и жмите лайк если эта статья была вам полезная:

Читать еще:  Голытьба index php action printpage topic

P.S.: Плагин advanced custom fields полнофункциональное расширение для wordpress, которое позволяет создавать произвольные поля разной сложности, такие как:

  • текстовое поле;
  • редактор WYSIWYG или tinyMCE;
  • гугл карты / google maps;
  • взаимоотношения между постами, страницами, пользователями, категориями, таксономиями.

У меня не выводится содерджание поля
версия плагина 5.8.0
wordpress 5.2.1
Создал поле для конкретной страницы.
Пробовал вывести поле разными способобами.

НЕ выводиться. Подскажите в чем может быть дело?

Пробовал на двух сайта. Создал поле с редактором для одной страницы и вывожу приведенными в предыдущем сообщении кодами. Результат 0(

Добрый день.
Вывод делаете на странице?? Поле заполненное? Файл нашли правильно, который за отображение отвечает. Например, забрасываете в page.php а у вас за вывод отвечает шаблон page-shab1.php как вариант.

acf не хочет чтобы обновили базу. сообщение с зеленой кнопкой??

Обновлять базу запросов нет. Установил сегодня новую версию плагина.
Пробовал и на отдельном шаблоне и в общем и на странице.

И дело в том, что другое поле для вывода контента в категории — отлично выводиться

В категории этот код точно не сработает, для кат надо второй параметр в функцию get_field писать.

да я знаю. Вот так вывожу php if($desk_act=get_field(«desk_act»,get_category($cat)))

Дак что может быт не так. Почему это поле не выводиться php if($adress_timashevsk=get_field(«adress_timashevsk»)) .

Еще заметил что кода нет в коде страницы. Пустой див только

А если добавляю в блок контента страницы то почему то вот так выводиться -Как коментарий

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

Никак не могу сделать, чтобы область текста отображалась на странице записи. Пробовал по разному. В коде записи код вывода просто исчезает.

Добрый день.
WordPress новый, 5 версия? Если да то нужно обновить плагин ACF зайти в настройки произвольных полей, и в каждом типе поля проверить чтоб было вот так отмечено https://help-wp.ru/wp-content/uploads/2019/01/trabl-001.jpg и сохранить если было не так.

Всё-равно при просмотре кода страницы он отсутствует

В верху страницы в правом углу есть настройки, возможно вы там отключили отображение пользовательских полей??

В админке они есть.

Проблема на фронте? во время отображения поля?
как получаете? get_field(«название поля»), там есть второй параметр get_field(«название поля»,$post->ID) где global $post — это текущий пост.
Рекомендую перед получением поля сделать:
var_dump($post->ID);
var_dump(get_field(«название поля»,$post->ID));

если получите значение false false значит нужно искать почему у вас потерялась переменная $post.
Если получите «число» false проверте число совпадает ваш ид поста с этим числом или нет. если не совпадает значит где то затираете переменную, нужно перед получением вставить wp_reset_query();

Создание сайта на WordPress

Что как и почему в WordPress

Произвольные поля (custom fields)

С произвольными полями позволяют работают функции WordPress
the_meta, get_post_meta, get_post_custom_values, get_post_custom,
get_post_custom_keys, add_post_meta, update_post_meta, delete_post_meta

Произвольное поле (custom field) представлено ключом (именем метаданных) и значением, причем для каждого ключа может быть добавлено несколько значений, несколько произвольных полей.
Новые поля и значения полей можно добавлять не только в коде, но и при создании/редактировании записи. (Если блок произвольных полей не виден внизу страницы, чтобы его показать, зайдите в Настройки экрана вверху страницы.) Чтобы использовать произвольные поля, нужно изменить код темы или написать плагин.

Функции WordPress для работы с произвольными полями

  • the_meta() — извлекает для текущей записи метаданные (которые хранятся в БД в таблице wp_postmeta) в виде ненумерованного списка. Используется внутри цикла или в файле темы single.php.
    . Игнорируются meta_keys (имена полей), которые начинаются с символа подчеркивания.
  • get_post_meta($post_id, $key, $single) — для записи с заданным $post_id (для текущей записи $post->ID)
    если $single = false (по умолчанию) извлекает массив всех значений для заданного ключа $key
    если $single = true, извлекает первое значение
  • get_post_custom_values($key, $post_id)массив всех значений для заданного ключа $key для записи с заданным $post_id (по умолчанию для текущей записи)
  • get_post_custom() — многомерный массив — все значения для всех ключей записи
  • get_post_custom_keys($post_id)массив всех ключей для записи с заданным $post_id (по умолчанию для текущей записи)
  • add_post_meta($post_id, $meta_key, $meta_value, $unique) — добавляет поле с ключом $meta_key и значением $meta_value (массив сериализуется в строку) для записи любого типа (записи , страницы, произвольного типа) с заданным $post_id.
    По умолчанию $unique = false. Если $unique = true, поле с именем (ключом) $meta_key будет добавлено, только если для данного $post_id оно еще не задано.
  • update_post_meta($post_id, $meta_key, $meta_value, $prev_value) — задает для записи с $post_id (обязательный параметр) для поля $meta_key значение $meta_value.
    Если для $meta_key есть несколько значений (несколько полей), изменяются все значения или только первое значение $prev_value (если задан параметр $prev_value) .
    Если поля с ключом $meta_key нет, вызывается add_post_meta, и это поле создается.
  • delete_post_meta($post_id, $meta_key, $meta_value) — удаляет все значения с заданным ключом или ключ и значение $meta_value (необязательный параметр).

Примеры

1. Первое значение для ключа key_1 для записи 76:

2. Внутри цикла WordPress вывод изображения (url изображения хранится в произвольном поле «thumb»).

Ссылка на основную публикацию
Adblock
detector