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