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