我已经设置了一组变量,在我的插件函数文件中使用add\\u filter创建:
add_filter(\'query_vars\', \'user_country_var\' );
add_filter(\'query_vars\', \'user_lat_var\' );
add_filter(\'query_vars\', \'user_lon_var\' );
然后,我用来处理过滤器的一些代码引用了它。当代码被插入到模板文件中时,这种方法工作得很好。我正试图收拾东西,我被难住了。
我将以下函数放在一个类中,它当前在init中调用,并且肯定存在(与其他一些工作正常的代码放在一起)。但它只是没有从我的url中获取变量,所以输出回退“你的国家”:
// pull variable from url
if (isset($wp_query->query_vars[\'country\']))
{
$this->user_country = $wp_query->query_vars[\'country\'];
}
else { $this->user_country = \'your country\'; }
if (isset($wp_query->query_vars[\'lat\']))
{
$this->user_lat = $wp_query->query_vars[\'lat\'];
}
else { $this->user_lat = \'52.5\'; }
if (isset($wp_query->query_vars[\'lon\']))
{
$this->user_lon = $wp_query->query_vars[\'lon\'];
}
else { $this->user_lon = \'13.4\'; }
有什么原因不能获取变量吗?正如我所说的,它可以很好地设置类的公共变量的默认值并执行。只是没有得到变量,即使变量在那里。。。
如果有帮助的话,我可以发布更多的代码,或者确实可以澄清。提前感谢您的任何想法!