Php 为wordpress自定义字段脚本集成if-else循环
我搜索了很多,但没有找到正确的解决方案 我有一个自定义字段,名为“我的名字”。此自定义字段可以在帖子中添加(多次),也可以不添加 我的问题-如果此键在post中不可用,我将收到一个错误(警告:为foreach()提供的参数无效) 我不想要这个错误消息,我想要一个“else=html文本”,如果这个键在这篇文章中不可用。我尝试了一些if/else,但我的php技能太低,不可能成功。有人能帮我吗Php 为wordpress自定义字段脚本集成if-else循环,php,wordpress,Php,Wordpress,我搜索了很多,但没有找到正确的解决方案 我有一个自定义字段,名为“我的名字”。此自定义字段可以在帖子中添加(多次),也可以不添加 我的问题-如果此键在post中不可用,我将收到一个错误(警告:为foreach()提供的参数无效) 我不想要这个错误消息,我想要一个“else=html文本”,如果这个键在这篇文章中不可用。我尝试了一些if/else,但我的php技能太低,不可能成功。有人能帮我吗 更新: 我已经修改了来自dingo_d的脚本,现在它可以工作了-thx $my_name = get_
更新:
我已经修改了来自dingo_d的脚本,现在它可以工作了-thx
$my_name = get_post_custom_values( 'My-Name' );
if(is_array($my_name) && !empty($my_name)){
foreach($my_name as $my_name){
echo $my_name . "\n";
}
} else{
echo 'My text';
}
根据get_post_custom_values()在缺少post参数时返回的内容,只需检查参数是否已设置或为空:
if (isset($my_name))
{
foreach(...) ...
}
vs
顺便说一下:if-else构造不是循环;-) 根据get_post_custom_values()在缺少post参数时返回的内容,只需检查参数是否已设置或为空:
if (isset($my_name))
{
foreach(...) ...
}
vs
顺便说一下:if-else构造不是循环;-) 在进入foreach循环之前,始终检查变量是否已填充内容。这也取决于你期望的回报类型。我会这样做:
if(is_array($my_name) && !empty($my_name)){
foreach($my_name as $value){
echo $value;
}
} else{
echo 'My text';
}
这是因为$my_name
变量应该返回一个数组。如果您的返回值是string,您应该检查它是否已设置,以及它是否为空字符串
if(isset($my_variable) && $my_variable != ''){...}
在进入foreach循环之前,请始终检查变量是否已填充内容。这也取决于你期望的回报类型。我会这样做:
if(is_array($my_name) && !empty($my_name)){
foreach($my_name as $value){
echo $value;
}
} else{
echo 'My text';
}
这是因为$my_name
变量应该返回一个数组。如果您的返回值是string,您应该检查它是否已设置,以及它是否为空字符串
if(isset($my_variable) && $my_variable != ''){...}
为什么数组表达式与值相同?通过将
foreach
包装在一个检查它的表达式中,可以确保保存数组的$my_name
变量存在:如果(is_array($my_name)&&&&!empty($my_name)){foreach($my_name as$value){echo$value;}
@dingo\d有趣,我尝试一下。。。稍等一下。@Pepe似乎在我回答问题时没有注意到,所以我删除了它,因为让我的答案起作用只会使它与其他答案相同:)为什么数组表达式与值相同?通过将foreach
包装在一个检查它的表达式中,可以确保保存数组的$my_name
变量存在:如果(is_array($my_name)&&&&!empty($my_name)){foreach($my_name as$value){echo$value;}
@dingo\d有趣,我尝试一下。。。等一下。@Pepe好像我在回答时没有注意到,所以我把它删除了,因为让我的答案起作用只会使它与其他答案一样:)我想这对wordpress的“自定义字段”不起作用?遗漏了“get_post_custom_values”之类的内容,对吗?遗漏是什么意思?您在变量$my\u names
中拉取get\u post\u custom\u values()
。Sry,我在我的评论后看到了您更新的脚本-我尝试了您的脚本,但我得到一个错误“致命错误:无法在写入上下文中使用函数返回值”我编辑了代码,不要尝试查看它是否已设置。这就是致命错误的原因。只需尝试第一个循环。调试代码的最佳方法是print\r()
一路上的变量,以查看返回值。因此,首先尝试打印出$my_name
变量的返回值。它应该是一个数组,所以如果它是数组并且不是空的,那么可以输入foreach。然后在foreach中,您可以打印出$value
变量是什么。这是最安全的方式来看看你从中得到了什么。找到所需内容后,从代码中删除print\r()
函数。你能更新你的问题以便我们能看到变量的内容吗?我想这对wordpress的“自定义字段”不起作用?遗漏了“get_post_custom_values”之类的内容,对吗?遗漏是什么意思?您在变量$my\u names
中拉取get\u post\u custom\u values()
。Sry,我在我的评论后看到了您更新的脚本-我尝试了您的脚本,但我得到一个错误“致命错误:无法在写入上下文中使用函数返回值”我编辑了代码,不要尝试查看它是否已设置。这就是致命错误的原因。只需尝试第一个循环。调试代码的最佳方法是print\r()
一路上的变量,以查看返回值。因此,首先尝试打印出$my_name
变量的返回值。它应该是一个数组,所以如果它是数组并且不是空的,那么可以输入foreach。然后在foreach中,您可以打印出$value
变量是什么。这是最安全的方式来看看你从中得到了什么。找到所需内容后,从代码中删除print\r()
函数。另外,您是否可以更新您的问题,以便我们可以看到该变量的内容?Thx支持-您的解决方案比我的更优雅,并且运行良好!Thx支持-您的解决方案比我的更优雅,工作正常!