如何在Timber中使用短代码渲染宏?

时间:2016-09-07 21:08:53

标签: wordpress twig timber

我想创建一个调用木材/树枝宏的短代码。我没有它工作,我想知道诀窍是否我没有在任何地方加载宏。所以我试着编译'它在...或渲染它,但它也没有工作。有没有办法做到这一点?

基本模板

{% import "macros/widgets.twig" as widgets %}

内容

[notice title="My notice"]Some content in here[/notice]

简码

add_shortcode('notice', 'notice_shortcode');
function notice_shortcode( $atts, $content = "" ){
    $title = sanitize_text_field($atts['title']);
    $string = "{{ widgets.notice({ title: '$title', content: '$content' }) }}";
    Timber::compile('macros/widgets.twig'); //??????
    return Timber::compile_string($string);
}

//macros/widgets.twig

{% macro notice(options) %}
    <div class="notice-block content-area">
        <h2><span class="icon icon-alert notice-block-icon"></span> {{ options.title }}</h2>
        {{ options.content }} 
    </div>
{% endmacro %}

0 个答案:

没有答案