ACF с Timber & Twig - не отображать на первой странице - PullRequest
0 голосов
/ 09 мая 2020

Я новичок в Timber and Twig, и теперь я столкнулся с проблемой, которую не могу решить. Я использую ACF в шаблонах страниц, и все работает нормально, но они не отображаются на главной странице. {{dump. (post.meta)}} имеет значение null

моя главная страница. php:

   <?php


$context          = Timber::context();
$context['post'] = new Timber\PostQuery();
$templates        = array( 'pages/front-page.twig');

Timber::render( $templates, $context );

моя главная страница.twig:

{% extends "base.twig" %}

{% block content %}
    {{dump(post.meta('header'))}}
    <h1>{{post.meta('header')}}</h1>
    <div class="hero__image__container">
        <img src={{ Image(post.meta('img')).src }}/>
    </div>
    {% include 'parts/banner.twig' %}
    {% include 'parts/services.twig' with {'items': services.get_items} %}#}

{% endblock %}

Что я делаю не так?

1 Ответ

0 голосов
/ 10 мая 2020

Если вы хотите получить отдельную публикацию в Timber, вы должны использовать Timber::get_post().

<?php

$context         = Timber::context();
$context['post'] = Timber::get_post();
$templates       = array( 'pages/front-page.twig' );

Timber::render( $templates, $context );

Когда вы используете Timber\PostQuery, вы получаете взамен коллекцию сообщений, которая ведет себя как массив. Прежде чем вы сможете {{ post.meta() }}, вам сначала нужно будет получить доступ к первому сообщению в этом массиве.

...