Как получить настраиваемые поля в single.php?

Я использую Wordpress Timber для создания своей темы wordpress и хотел бы узнать, как получить настраиваемые поля в древесине? Я имею в виду файлы php, а не файлы шаблонов веток.

Есть ли функция для получения настраиваемого поля? Прямо сейчас этот подход не работает:

$post = new TimberPost();
$post->some_custom_field_name;

person Joshua Leung    schedule 18.01.2018    source источник


Ответы (1)


В настоящее время существует 3 различных способа доступа к значению настраиваемого поля, если у вас есть столб Timber. В Twig это может быть проще писать, но, в конце концов, Twig переводится на PHP за кулисами, так что в PHP, безусловно, есть способ!

1. Прямой доступ через собственность

Когда вы создаете новую стойку Timber, Timber автоматически заполняет ваш объект записи значениями настраиваемых полей, которые доступны непосредственно как свойства.

Итак, если у вас есть настраиваемое поле с именем some_custom_field_name, вы сможете получить к нему доступ так, как вы это пытались:

$custom_field_value = $post->some_custom_field_name;

Если ваше значение не установлено, вы всегда можете проверить, установлено ли свойство в вашем сообщении, выгрузив содержимое с помощью var_dump():

var_dump( $post );

Также см. Руководство по отладке.

2. Доступ через свойство custom.

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

$custom_field_value = $post->custom['some_custom_field_name'];

3. Доступ через метод meta

Два описанных выше метода будут напрямую возвращать значение базы данных. Если вы используете такой плагин, как Advanced Custom Fields, вам может понадобиться не сырое значение из базы данных, а значение, которое правильно фильтруется плагином. Затем вам следует использовать meta() метод:

$custom_field_value = $post->meta('some_custom_field_name');
person Gchtr    schedule 21.01.2018