我正在尝试在我的主题文件中调用WordPress插件变量值并在那里回显它,但我没有这样做。这是我试过的。
插件变量是
$thumbs-rating;
我刚刚在主题文件中做了正常的回音,就像这样
<div><?php echo $thumbs-rating ?></div>
我在某处读到我需要将变量设置为全局变量。所以,我试过
global $thumbs-rating;
但没有用。
答案 0 :(得分:1)
如果你在插件中使用类结构,那么你应该在插件中创建函数来获取该文件的变量
- 在主题
的任何位置获取,设置和使用插件(类)变量的标准方法例如
插件文件中的
$my_class = new MY_Class;
$total = $my_class->get_total();
在函数文件中
{{1}}
答案 1 :(得分:1)
以下是将插件中定义的variable
用于主题文件的一些解决方案。
众所周知,插件的加载时间早于主题。所以,我们可以毫无问题地在插件中定义一些变量,然后在主题中使用它:
插件文件:
global $my_var;
$my_var= 'something';
主题文件:
global $my_var;
echo $my_var;
请注意,当您在函数中使用global
时,您应该hook
函数somwhere。这意味着可能无法直接在主题文件中获取global
变量,因为它可能尚未定义(称为函数)。
直接在主题文件中访问插件函数中定义的global
:
插件文件:
function ww_new(){
global $ww_new;
$ww_new = 'something';
}
add_action('wp_roles_init', 'ww_new');
主题文件:
global $ww_new;
echo $ww_new;
我们使用wp_roles_init
挂钩,在主题设置之前触发。这意味着,我们可以毫无问题地访问全球。但是如果我们使用其他钩子,例如init
,那么我们的global
将为空。
只需使用函数和filter访问某个变量:
插件文件:
function ww_new()
{
$ww_var['a'] = 99;
$ww_var['b'] = 999;
$ww_var = apply_filters('ww_filter', $ww_var);
}
add_action('after_setup_theme', 'ww_new');
主题文件:
function ww_func($var){
var_dump($var);
//your code
return $var;
}
add_filter('ww_filter', 'ww_func', 10, 1);
我们使用after_setup_theme
挂钩来访问我们的变量,并且可以在主题文件中使用过滤器。只有几个默认hooks
,在主题激活和使用之前触发,我们无法访问变量。
答案 2 :(得分:0)
好像你忘了“&gt;” ! $thumbs-rating;
错误,请更改您的代码:
global $thumbs;
echo $thumbs->rating; // or if rating is a function: echo $thumbs->rating();