我有一个简单的问题。我有这个代码和它的正确性,
<?php global $wp_query;
$postid = $wp_query->post->ID;
$meta = get_post_meta($postid, \'codigopostal\', true);
if($meta != $empty) { echo "(".$meta.")"; } ?>
但当用户不放置任何内容时,值为0。我想删除frontpage上的值。
<?php global $wp_query;
$postid = $wp_query->post->ID;
$meta = get_post_meta($postid, \'codigopostal\', true);
if($meta != $empty) {
echo "(".$meta.")";
}
else if($meta != 0) {
echo "";
}
?>
我添加了其他如果。。。但这是错误的。
最合适的回答,由SO网友:gmazzap 整理而成
这个问题与主题无关,因为您的是一个简单的PHP错误,与WordPress无关。
您正在尝试使用以下方法检查变量是否为空:
if ( $meta != $empty ) {
但这不是正确的方法,事实上,这段代码比较目标变量
$meta
使用另一个变量
$empty
未定义。
如果要检查PHP中的变量是否为空,必须使用empty
function 因此,您的代码应该是:
<?php
$postid = get_queried_object_id();
$meta = get_post_meta($postid, \'codigopostal\', true);
if ( ! empty($meta) ) echo "(" . $meta . ")";
?>
我使用的注释
get_queried_object_id
返回当前查询的帖子id的id,而不使用全局变量。