猿问

如何使用 get_template_part 传递变量

我的 WordPress 网站上有三种类型的帖子(标准、旁白、视频)。我需要像$row标准content.php文件中那样计算变量,但我无法将其传递到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; ?>

我的content.php文件代码:


<div>

    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>

    <p><?php the_content(); ?>- <?php echo $row; ?></p>

</div>

但当我echo $row;没有任何表现时


我已经使用了stackoverflow 上类似问题的链接,但我无法更改我的帖子格式文件,还有其他方法可以做到这一点吗?


江户川乱折腾
浏览 79回答 1
1回答

开心每一天1111

无法准确地传递参数,但您可以做的是使用函数set_query_var,get_query_var这使得变量可以全局访问。在主模板中,例如index.php,您可以用来set_query_var设置变量。请注意,第一个参数是全局变量的名称,这是您用来检索它的名称 - 而不是原始参数名称。set_query_var(&nbsp;"my_global_var_name",&nbsp;$param_vaule);&nbsp; get_template_part('content',&nbsp;get_post_format());然后在模板部分,您可以使用 获取 now-global 变量的值get_query_var,例如$myvar&nbsp;=&nbsp;set_query_var(&nbsp;"my_global_var_name"&nbsp;);(值得注意的是,它的最佳实践是最小化全局变量,因此您可能会更仔细地考虑重构模板结构,看看是否有其他方法可以做到这一点,例如使用额外的模板部分。)
随时随地看视频慕课网APP
我要回答