如果meta没有值/为空,则输出0的最短路径

时间:2014-12-24 16:42:14

标签: php wordpress if-statement is-empty

希望标题有意义,我有几个元字段,如果它们是空的,我想输出0

我目前正在输出以下值:

<?php meta('some-field'); ?>

编辑:上面的代码将回显出值

3 个答案:

答案 0 :(得分:1)

例如,使用三元运算符。 在PHP 5.3之后:

echo meta('some-field') ? : 0;

在PHP 5.3之前:

echo meta('some-field') ? meta('some-field') : 0;

答案 1 :(得分:1)

假设meta()写入而不返回任何内容......

function callback($buffer) {
    // check if buffer is empty, else return 0
    return (!empty($buffer)) ? $buffer : 0;
}

// turn output buffering on. the output is stored in an internal buffer. 
// The callback function will be called when the output buffer is flushed
ob_start('callback');

meta('some-field');

// Flush the output buffer
ob_end_flush();

工作示例: http://phpfiddle.org/main/code/42rr-zh8j


假设meta()返回值而不写任何内容......

// Check if meta return value is empty, print meta value else print 0
echo ( !empty(meta('some-field')) ) ? meta('some-field') : 0;

答案 2 :(得分:0)

你可以将meta()包装在你自己的自定义函数中:

function myMeta($key, $default = '0') {
   $meta = meta($key);
   return empty($meta) ? $default : $meta;
}

并使用它代替meta:

myMeta('some-field');
myMeta('some-field', 'other-default-value');