Wordpress:在 post 上多次在函数中使用 set_query_var?

Wordpress: Use set_query_var in function multiple times on a post?

在我的 WordPress 主题中,我的一个短代码调用了一个使用 set_query_var 的函数。我不明白范围。在 post 中多次使用该短代码是否可以? set_query_var 是短代码的本地用法吗?因为它传递到其他主题部分,所以我认为它必须是全局的。示例:

function my_func ($atts) {
     var $the_amount = $atts['amount']; //passed from the short code
     set_query_var('my_amount', $the_amount);
}

在post中使用多次调用此函数的短代码似乎可以正常工作,但我不知道这是否可以接受。

不,set_query_var 不是本地的。该值是全局设置的。

是的,允许对同一个变量多次使用它 - 但请注意,它每次都会重置值 ,因此请确保您已完成之前的操作重置前的值。

但是只要你的简码写得好,应该没问题。

请注意,使用它的原因(即使通过全局变量传递信息是不好的做法)是因为它是目前将变量传递给其他模板部分的唯一方法。然而,下一版 WP (v5.5) 将最终 提供一种在模板文件之间传递变量的方法,一旦该版本被广泛使用这是在模板文件之间传递信息的更好、更简洁的方法。

Passing arguments to template files in WordPress 5.5