Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我在Wordpress中的功能不起作用?_Wordpress - Fatal编程技术网

为什么我在Wordpress中的功能不起作用?

为什么我在Wordpress中的功能不起作用?,wordpress,Wordpress,为什么不在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"; } }

为什么不在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))但不起作用


我想显示中介绍的价格或显示文本“无”

您试图使用的变量不在“范围内”。您可能需要阅读上的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);
myprice( get_post_meta($id, 'price', true) );
然后在其他地方调用它,传入要显示的值,如下所示:

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);
myprice( get_post_meta($id, 'price', true) );
请注意,为了清晰起见,我在函数中为变量命名了不同的名称;您可以将它称为
$price\u add
,但这不会使它以任何特殊方式连接到另一个名为
$price\u add
的变量

[编辑以添加…]事实上,调用函数时根本不需要变量-您提供的是输入参数的值。你也可以这样写:

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);
myprice( get_post_meta($id, 'price', true) );

您希望从函数
myprice()
中得到什么?我希望显示在中引入的价格或显示文本“无”。不起作用。我使用了以下代码:函数show_price($show_my_price){if($show_my_price!=''){echo$show_my_price.“EURO”;}否则{echo“Note”;}。。。显示为空(无回声)。@golaz在上下文中很难说没有看到实际代码,但是
show_price($show_my_price)似乎错误-您以前使用的是
$price\u add=get\u post\u meta($id,'price',true),因此它需要是
show\u price($price\u add)。请注意从外部代码传递到函数中的变量与其在函数中的名称之间的差异。您还可以编写
show_price(get_post_meta($id,'price',true))
@golaz同样,试着写
var\u dump(get\u post\u meta($id,'price',true))
要检查您认为要传递的值是否在第一位置实际设置……代码工作: