我试图将逻辑从模板中删除。我想将一个变量传入模板部分,因此在single.php中我有:
第一个月
在functions.php中我有这个函数,并将其添加到get_template_part_template-parts/the-slug中,类似于:
add_action('populate', 'get_template_part_template-parts/the-slug');
public function populate( $name, $template, $args ){
print_r($args);
$args['another var'] = 2;
}
字符串
所以这个函数可以很好地执行。我的问题是我想在populate()中设置$args(或其他变量),使它们在模板部分中可用。这可能吗?
1条答案
按热度按时间h7appiyu1#
首先,**get_template_part()**本身并不支持将变量传递给包含的模板文件。在single.php文件中传递给get_template_part()的第三个参数实际上在WordPress的默认实现get_template_part()中没有任何作用。
第二,**add_action()不是用来扩展像get_template_part()这样的函数的功能。相反,add_action()用于将函数链接到WordPress中触发的特定操作。操作'populate'不是默认的WordPress操作,并且与get_template_part()无关。
您可以使用set_query_var()**使变量可用于模板部件。