WordPress не может получить доступ к виджету в нижнем колонтитуле с помощью Timber

Я пытаюсь получить доступ к виджету в нижнем колонтитуле, но получаю результат 0. Я зарегистрировал виджет как боковую панель:

register_sidebar( array(
  'name' => __( 'First Footer Widget Area', 'bonestheme' ),
  'id' => 'first-footer-widget-area',
  'description' => __( 'The first footer widget area', 'bonestheme' ),
  'before_widget' => '<div id="%1$s" class="widget-container %2$s">',
  'after_widget' => '</div>',
  'before_title' => '<h3 class="widget-title">',
  'after_title' => '</h3>',
)); 

Мой footer.php выглядит так:

$timberContext = $GLOBALS['timberContext'];
if (!isset($timberContext)) {
  throw new \Exception('Timber context not set in footer.');
}
$timberContext['content'] = ob_get_contents();
$timberContext['first-footer-widget'] = Timber::get_widgets('first-footer-widget-area');
ob_end_clean();
$templates = array('page-plugin.twig');
Timber::render($templates, $timberContext);

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

{{ first-footer-widget }}

В моем виджете есть два текстовых поля: метка и значение. Я пробовал {{first-footer-widget.label}} и {{first-footer-widget.value}} безуспешно.

Любые идеи?


person Molly Harper    schedule 20.02.2016    source источник


Ответы (1)


Это довольно просто, Twig не любит дефисы. Просто переименуйте свойство и способ его получения в first_footer_widget

person Jared    schedule 20.02.2016
comment
Это кажется правильным. Также вы можете вызвать {{dump ()}} или {{dump (VALUEHERE)}}, чтобы проверить, получаете ли вы даже данные, которые ожидаете. - person Spencer Rohan; 03.03.2016