Где в Wordpress я включу свой файл, чтобы я мог получить доступ к его переменным на остальной части страницы? - PullRequest
0 голосов
/ 19 декабря 2011

Я пытался включить свой файл в header.php или в index.php моей темы, но я не могу получить доступ к переменным во включенном файле, скажем, из footer.php моей темы или даже из шаблонов страниц моей темы.

Вот что я включаю:

<?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");

// ...

?>

Работает, но правильно ли я это сделал?Есть ли лучший / правильный способ сделать это?Еще раз спасибо всем.

Ответы [ 3 ]

0 голосов
/ 19 декабря 2011

Лучшее место для включения собственных функций - в файле functions.php вашей темы.

Если вы хотите получить доступ к переменной в нескольких файлах, вы можете создать функцию в вашем functions.php и получить доступ к этой функции в любом месте темы.

В functions.php

* * 1010

И в вашем 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 голосов
/ 19 декабря 2011

гм, оригинальное решение этой проблемы заключается в том, что вы должны сохранить ваши переменные как переменную параметра в 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 голосов
/ 19 декабря 2011

Я не уверен, что ваша функция делает, но место для определения функций находится в вашем файле functions.php тем.

...