如何在循环中声明变量并使其在模板文件中可用

时间:2021-09-24 作者:Victor Sokoliuk

我曾面临一个小问题,但自己解决不了。在所有循环迭代之后,我需要在变量上添加值。没什么问题,但我需要在另一个文件中使用这个变量。例如:

while( have_posts() ) {
        the_post();
        $x = \'\';
        $x++;
        get_template_part( \'content\', \'right\' );
    }
现在,我需要通过内容中的迭代获得$x值。php我试图在这个文件中声明一个变量,但在这种情况下没有迭代。有没有办法解决这个问题?

1 个回复
最合适的回答,由SO网友:Ivan Shatsky 整理而成

您正在初始化$x 循环每次迭代时的变量。也许您想将其初始化移到循环之外?获取$x 中的变量值content-right.php 文件,您可以将其声明为global:

global $x;
$x = 0;
while( have_posts() ) {
    the_post();
    $x++;
    get_template_part( \'content\', \'right\' );
}
然后你可以在content-right.php 文件:

global $x;
# ... here you can use $x variable value

相关推荐

当in_the_loop()为假时,何时以及为什么is_Single(‘my_cpt’)为真?

我正在使用模板系统的示例代码。此地址的页码:http://project.test/my_cpt/hello-post/.无法理解原因is_singular( \'my_cpt\' ) 是true 虽然in_the_loop() 是false.在页面模板中The Loop "E;“工程”:if ( have_posts() ) { while ( have_posts() ) { the_post(); ?>