Я беру предположение и говорю, что ваше поле service_pages
является полями отношений ACF. В полевых настройках вы можете указать ACF возвращать идентификаторы записей или полные объекты записей. Когда вы возвращаете объекты post, объекты будут экземплярами WP_Post
, но вам понадобятся экземпляры Timber\Post
для работы всех функций. Вот как вы можете это настроить.
В PHP :
$service_options = get_field( 'service_pages', 'options' );
$service_options = array_map( function( $page ) {
// Convert whatever $page is to a Timber\Post.
return new Timber\Post( $page );
}, $service_options );
$context['service_options'] = $service_options;
Timber::render( $templates, $context );
В Twig , это может быть даже проще:
{% for post in Post(service_options) %}
{{post.id}} {{ post.title }}
{# ... #}
{% endfor %}
Здесь функция Post()
преобразует все, что находится в массиве service_options
, в Timber Posts.
Для заказа постов для пользовательского типа поста - вместо использования отдельного поля отношения - вы также можете использовать один из следующих плагинов для непосредственного заказа постов в представлении списка постов: