Php 如何使用get_template_part传递变量
我在WordPress网站上有三种类型的帖子(标准、旁白、视频)。 我需要在我的标准Php 如何使用get_template_part传递变量,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我在WordPress网站上有三种类型的帖子(标准、旁白、视频)。 我需要在我的标准content.php文件中计算一个变量,如$row,但我无法将其传递到content.php文件 我的index.php文件代码: <?php if (have_posts()) : $$row = 2; while (have_posts()) : the_post(); get_template_part('content',
content.php
文件中计算一个变量,如$row
,但我无法将其传递到content.php
文件
我的index.php
文件代码:
<?php if (have_posts()) :
$$row = 2;
while (have_posts()) : the_post();
get_template_part('content', get_post_format());
$row++;
endwhile;
endif; ?>
<div>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p><?php the_content(); ?>- <?php echo $row; ?></p>
</div>
但当我echo$row时代码>没有显示任何内容
我已经使用了这个链接,但是我不能更改我的post格式文件,有其他方法吗?您不能准确地传递参数,但是您可以使用函数set\u query\u var
和get\u query\u var
,这使得变量可以全局访问
在主模板(例如index.php)中,使用set\u query\u var
设置变量。请注意,第一个参数是全局变量的名称,这是用于检索它的名称,而不是原始参数名称
set_query_var( "my_global_var_name", $param_vaule);
get_template_part('content', get_post_format());
然后,在模板部分,您可以使用get\u query\u var
获取now全局变量的值,例如
$myvar = set_query_var( "my_global_var_name" );
(值得注意的是,它的最佳实践是最小化全局变量,因此您可能正在重新构建模板结构,看看是否有其他方法可以做到这一点,例如使用额外的模板部件。)
参考文献:
我只想指出,从WordPress 5.5开始,现在可以传递变量了。以下是发布公告:@ChrisHaas关于时间:)感谢您提供的信息!