2011-12-19 79 views
0

我想包括我在header.php文件或我的主题的index.php,但我不能访问从假设我的主题的footer.php或是主题的页面模板包含文件中的变量。在Wordpress中,我将包含我的文件,以便在整个页面的其余部分访问其变量?

这里是我,包括:

<?php 

// some parameters 
$var_research = 5; 
$var_researchtrans = 7; 
$var_output = 9; 
$var_edit_indi = 11; 
$var_contact = 15; 
$var_transition = 19; 

?> 

现在我需要的是能够使用变量footer.php,例如。

希望有人在那里有一个答案。谢谢,你们都。

确定,这里就是我做它的工作:

在functions.php的

<?php // functions.php 

// ... 

function my_var($va_var) { 

    // some parameters 
    $var_research = 5; 
    $var_researchtrans = 7; 
    $var_output = 9; 
    $var_edit_indi = 11; 
    $var_contact = 15; 
    $var_transition = 19; 
    $var_sometext = "text test"; 

    eval("\$return_var = $" . $va_var . ";"); 
    return $return_var; 

} 

?> 

和footer.php

<?php // footer.php 

// ... 

echo "blah blah " . my_var("var_sometext"); 

// ... 

?> 

它的工作,但我做对了吗?有没有更好的/正确的方法来做到这一点?再次感谢大家。

回答

0

,包括自己的函数最好的地方是在你的主题functions.php文件。

如果你想在多个文件访问的变量,你可以创建一个在您functions.php和访问功能该功能的主题内的任何地方。

在functions.php的

function your_variable() 
{ 
    $var = 'your variable'; 
    return $var; 
} 

而在你的footer.php

echo your_variable(); 

为您更新的查询

function my_var($va_var) { 

    $out = array(); 
    // some parameters 
    $out['var_research'] = 5; 
    $out['var_researchtrans'] = 7; 
    $out['var_output'] = 9; 
    $out['var_edit_indi'] = 11; 
    $out['var_contact'] = 15; 
    $out['var_transition'] = 19; 
    $out['var_sometext'] = "text test"; 

    return $out[$va_var]; 

} 
+0

谢谢@Indranil,我只是在我的问题中包含了代码。我会尽力将它们变成一个函数。有什么建议么? – 2011-12-19 06:39:06

+0

另一个更新来显示我的答案,@Indranil。有更好的方法来做到这一点? – 2011-12-19 07:47:19

+0

存储它们的更好方法是使用数组。请看我编辑的答案。 – Indranil 2011-12-19 13:31:59

0

我不知道你的函数做什么,而是定义函数的地方是在你的主题functions.php文件。

+0

感谢@Jeremy,我只是包含在我的问题的代码。你如何建议我在一个函数中实现这个? – 2011-12-19 06:38:40

+0

还有一个更新来显示我的答案,@Jeremy。有更好的方法来做到这一点? – 2011-12-19 07:46:22

0

姆,这个最初的解决方案问题在于y OU必须在瓦尔保存为WordPress的一个选择变量,像这样:

<?php add_option($name, $value, $deprecated, $autoload); ?> 

和功能:

<?php 
function my_var($va_var) { 
    add_option('var_research', '5', '', 'yes'); 
} 
?> 

,并在footer.php你只需要用这个检索您的变量:

<?php _e(get_option('admin_email')); ?> 

好运

+0

嗯..看起来我可能会给一个去..谢谢,bizzare! – 2011-12-19 08:10:47

+0

请记住,不要使用任何自制的解决方案,它更好地首先检查代码中的原始的;) – bizzr3 2011-12-19 08:28:14

相关问题