WordPress字段中的简单IfThen语句


Simple IfThen Statement from WordPress Field

好吧,显然我对这个简单的脚本没有足够的知识。基本上,最后我会在地址字段上使用ifthen语句,如果它是空的,映射将不会出现,如果它有地址,映射将出现。

这不是ifthen语句,我只是想知道如何从数组中写一个,或者其他什么。这是我可以从地址字段输出的内容。

<?php
global $userdata, $app_abbr, $gmap_active;
$custom_fields = get_post_custom();
$varaddress = $custom_fields[$app_abbr.'_street'];
echo strlen($varaddress); //
var_dump($varaddress); //
echo string($varaddress);
?>

这就是我从中得到的:

当地址字段为空时:

5array(1) { [0]=> string(0) "" } 

地址字段满时:

5array(1) { [0]=> string(24) "14 South Magnolia Avenue" } 

我正试图找出如何写一个简单的ifthen声明来反对这一点,但无论我如何尝试,它都会不断回到真实。。。所以我把它分解,看看到底返回了什么,这就是输出。怎样

好吧,既然我现在知道如何从数组中"弹出"一些东西。。。哈哈,这是ifthen的声明,似乎是有效的。让我知道它是否可以精简:

<?php
global $userdata, $app_abbr, $gmap_active;
$custom_fields = get_post_custom();
$varaddress = $custom_fields[$app_abbr.'_street'];
$varmap = array_pop($varaddress);
if (strlen($varmap) >= 1 && !is_bool($varmap)) {
include_once ( TEMPLATEPATH . '/includes/sidebar-gmap.php' ); 
} else {
echo "NO ADDRESS GIVEN FOR MAP"; 
}
?>

您所拥有的是一个单元素数组。您可以通过其数组索引[0]访问地址,也可以将其弹出:

echo $varaddress[0];
// Or    
echo array_pop($varaddress);

它为strlen()提供5的原因是,当您将数组强制转换为字符串时,就像将其传递给类似strlen()的函数时一样,它会返回长度为5的字符串Array。结果具有误导性,与数组的实际内容无关。