0

我想创建一个调用木材/树枝宏的简码。我没有让它工作,我想知道诀窍是不是我没有在任何地方加载宏。所以我试图将它“编译”到......或渲染它,但这也不起作用。有没有好的方法来做到这一点?

基本模板

{% 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 %}
4

0 回答 0