delete value 0 in post meta

时间:2013-12-29 作者:Vektor Unbreakable

我有一个简单的问题。我有这个代码和它的正确性,

<?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 "";
}
?>
我添加了其他如果。。。但这是错误的。

1 个回复
最合适的回答,由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,而不使用全局变量。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在