为什么不在wordpress中使用我的功能?
我的代码
add_post_meta( $ids, 'price', $price, true );
$price_add = get_post_meta($id, 'price', true);
function myprice(){
if ($price_add != ' '){
echo $price_add." Euro";
}
else {
echo "None";
}
}
我尝试使用if(isset($ price_add))但不起作用。
我想显示介绍的价格或显示文字“无”。
答案 0 :(得分:2)
您正尝试在范围"中使用不是"的变量。您可能希望阅读variable scope上的PHP手册页。
一个函数是一个可重用的代码片段,带有输入和输出,而PHP变量是"作用域" (可见)它们被声明的函数。(主要的例外是全局变量,它们通常不赞成,因为它们使代码难以读取,重用和测试;静态变量和对象成员的工作方式略有不同。)
在你的情况下,你想要一个以价格作为输入的函数,并且如果它不是一个空字符串(或者,你已经写过它,一个空格),那就回应那个价格;你可以这样定义:
function myprice($price_to_display) {
if ($price_to_display != ' '){
echo $price_to_display." Euro";
}
else {
echo "None";
}
}
然后在其他地方调用它,传入要显示的值,如下所示:
$price_add = get_post_meta($id, 'price', true);
myprice($price_add);
请注意,为了清晰起见,我已将函数中的变量命名为不同;您可以将其称为$price_add
,但这不会以任何特殊方式将其连接到名为$price_add
的其他变量。
[已编辑添加...] 事实上,当您调用该函数时,您根本不需要变量 - 您提供的是输入参数的值。所以你也可以这样写:
myprice( get_post_meta($id, 'price', true) );