Issue when adding second custom menu to global context - Unsupported operand types in /app/wp-content/plugins/timber-library/vendor/twig/twig/lib/Twig/Environment.php(462)
Я работаю над получением второго зарегистрированного меню и добавлением его в шаблон заголовка.Я использую плагин Timber с шаблонами Twig.
Я добавляю это второе меню в глобальный контекст:
$context['custom-menu'] = new Timber\Menu( 'Custom Menu' );
и вызываю меню в моем файле index.php.
$context = Timber::get_context();
$context['posts'] = new Timber\PostQuery();
$templates = array( 'index.twig' );
if ( is_home() ) {
array_unshift( $templates, 'home.twig' );
}
Timber::render( $templates, $context );
Заголовок.файл ветки включен в base.twig, который расширен до index.twig.Это включает в себя все части заголовка.
{% include "partial/user-menu.twig" with {'custom-menu': custom-menu.get_items} %}
{% include "menu.twig" with {'menu': menu.get_items} %}
{% include "partial/sl_logo.twig" %}
{% include "partial/sl_search.twig" %}
Меню menu.twig прекрасно рендерится, но когда я добавляю пользовательское меню, в верхней части выводится сообщение об ошибке.Когда я удаляю with {'custom-menu': custom-menu.get_items}
, выдается ошибка: Object of class Timber\Menu could not be converted to int
Файл user-menu.twig выглядит следующим образом:
<ul>
{% for item in custom-menu %}
<li class="{{ item.classes | join(' ') }}">
<a target="{{ item.target }}" href="{{ item.link }}">{{ item.title }}</a>
{% include "user-menu.twig" with {'custom-menu': item.get_children} %}
</li>
{% endfor %}
</ul>
Документация по репозиторию Timber Github предполагает, чтоВы можете добавить меню в глобальный контекст и просто добавить их, когда получите get_context.
https://github.com/timber/timber/blob/master/docs/guides/menus.md
Кто-нибудь может помочь диагностировать проблему?