提问人:user18102663 提问时间:10/27/2023 最后编辑:user18102663 更新时间:10/27/2023 访问量:19
在Wordpress中,如何使用get_template_part_{slug}来更改get_template_part的参数?
In Wordpress, how to use get_template_part_{slug} to change the args for get_template_part?
问:
我试图将逻辑排除在我的模板之外。我想将变量传递到模板部分,因此在 single.php 中我有:
get_template_part('template-parts/the-slug', null, ['example' => 1]);
在函数中.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(或其他一些变量)以使它们在模板部分中可用。这可能吗?
答:
0赞
startdesigns
10/27/2023
#1
首先,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() 使变量可用于模板部件。
评论