Wordpress函数变量,无法从另一个文件访问

时间:2016-09-09 10:25:52

标签: php wordpress function variables

我在主题目录中有一个运行一些代码的wordpress函数文件,以便将自定义字段应用于作业管理器插件。

代码运行正常,一切正常,例如它允许您输入数据,然后数据将显示在前端,但不是我希望它显示的位置。

我已经尝试将这个函数文件包含到另一个php文件中,我正在设计前端的外观。但是,当包含文件时,变量不可访问,即使我回显变量名称,也没有出现?

我尝试使用SESSION,但即使这样也不起作用?

function display_job_salary_data() {
global $post;

$salary = get_post_meta( $post->ID, '_job_salary', true );
$salary = number_format($salary);

if ( $salary ) {
echo esc_html($salary);
}
}

Salary是我需要在另一个php文件中访问的变量

1 个答案:

答案 0 :(得分:1)

当在函数内部创建变量时,它只能在该函数的范围内访问。

如果要以任何其他方式使用该值,则该函数需要返回该值。

由于你的函数名称以display_开头,如果它返回了某些东西就不会非常直观,所以我会把它分成两个不同的函数。

第一个函数获取并返回工资数据:

function get_job_salary_data() {
    global $post;

    $salary = get_post_meta( $post->ID, '_job_salary', true );
    $salary = number_format($salary);

    return $salary;
}

第二个函数输出工资数据: (就像之前一样)

function display_job_salary_data() {
    // Get the salary data from our previous function
    $salary = get_job_salary_data();

    if ( $salary ) {
        echo esc_html($salary);
    }
}

现在你可以获得薪资数据(只要包含有这些功能的文件):

// Get the salary data
$salary = get_job_salary_data();

// ...or just output it, just like before
display_job_salary_data();

要阅读有关变量范围的更多信息,我建议您在此处阅读有关该主题的PHP文档:http://php.net/manual/en/language.variables.scope.php