2016-02-20 3 views
0

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

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 }} 

у меня есть два текста тьфу lds в моем виджетах, названный ярлык и ценность. Я пробовал {{first-footer-widget.label}} и {{first-footer-widget.value}} без успеха.

Любые идеи?

ответ

2

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

+0

Это кажется правильным. Также вы можете вызвать {{dump()}} или {{dump (VALUEHERE)}}, чтобы проверить, даже ли вы получаете ожидаемые данные. –