2011-12-19 97 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

相關問題