保存可变值树枝||木材



我有一个自定义的木材函数total_value在我的Twig .php文件和Twig类中。

class Twig {
public $totalvalue = 1;
public function add_timber_functions( $twig ) {
/* actions and filters */
$twig->addFunction(new Twig_Function('total_value', function ($value) {
$this->totalvalue += $value;
return ($this->totalvalue);
}));
}
}

我在Twig类中也有一个公共变量public $totalvalue = 1;

如果我像这样从一个分支模板调用函数{{total_value('1')}},它会返回2,就像它应该的那样。但是当我从另一个分支模板调用它时,它仍然返回2,但我希望它返回3。

我对树枝和木材很陌生,我真的不能理解它们

我建议你的主要选项是wp缓存或瞬态。瞬态和缓存的区别在于瞬态是持久化的,并且写入选项表,而缓存仅在特定的页面加载时持久化。

正如在评论中提到的,$_SESSION是存储跨多个页面使用的信息的另一种方式,尽管它在不同的用户会话之间不是持久的。因此,根据所需的功能,您需要进行相应的选择。

WP缓存

$value = wp_cache_get( 'hello' );
wp_cache_set( 'hello', 'world' );

瞬态:

set_transient( 'box_color', 'Cherry Red', 14400 );
$value = get_transient( 'box_color' );

Timber也有一个用于瞬态的辅助方法,参见文档。

最新更新