木材Wordpress(TWIG)-动态边栏

时间:2018-10-31 09:21:44

标签: php wordpress twig timber

我对Timber和TWIG情有独钟。 我无法显示动态侧边栏。我的目标是仅在具有动态侧边栏并且您位于 front-page.php 上时显示内容。当前它告诉我有小部件区域,但是我不在正确的页面上。我确定 front-page.php 会被渲染。 我正在使用Timber starter theme (Github)作为Wordpress的基础。 如果直接在 front-page.twig

中注释掉的代码添加到代码中,则可以显示这些小部件。

sidebar.php

#Timber::render( array( 'sidebar.twig' ), $data ); if i understand right, i can remove this?

$context = array();
$context['dynamic_sidebar'] = Timber::get_widgets('home_sidebar');
Timber::render('sidebar.twig', $context);

functions.php 我将其添加到文件末尾:

function custom_widgets_init() {

    register_sidebar( array(
        'id'          => 'home_sidebar',
        'name'        => __( 'Dynamic Sidebar 1', $text_domain ),
        'description' => __( 'This sidebar is located on the left side of the content.', $text_domain ),
    ) );
}
add_action( 'widgets_init', 'custom_widgets_init' );

font-page.twig

{% extends "base.twig" %}

{# STUFF #}

{% block sidebar_area %}

        <aside>
            {{dynamic_sidebar}}
            {# {% do function('dynamic_sidebar', 'dynamic-sidebar-1') %} THIS HOWEVER WORKS #}
        </aside>

{% endblock %}

sidebar.twig :当前为空

1 个答案:

答案 0 :(得分:1)

@frizzant:如果您尚未查看我们为侧边栏放在一起的指南:

https://timber.github.io/docs/guides/sidebars/