我在主题目录中有一个运行一些代码的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文件中访问的变量
答案 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