2013-12-17 39 views
0

我为帖子设置了一个元值。元是'_test_field_one',值是“猫”。
我做了以下功能只是为了测试它(这是一类,是):get_post_meta由于某种原因不接受变量

public function get($post_id, $metakey) { 

    echo $metakey; // test_field_one 

    $metakey = '_' . $metakey;  
    echo $metakey; // _test_field_one 

    echo get_post_meta($post_id, $metakey, true); // nothing .. 
    echo get_post_meta($post_id, '_test_field_one', true); // Cats 

    return get_post_meta($post_id, $metakey, true); 
} 

在评论后各呼应,我表示在屏幕上打印的内容得到。
有没有人知道第三个回声不起作用的原因是什么(另外该函数什么都不返回)。

+0

什么的var_dump'输出( '_ test_field_one' === $ metakey)'? – Joren

+0

它是'bool(false)' – Kaloyan

+1

然后'$ metakey'的末尾可能有一些空格。尝试通过它作为trim($ metakey)'。 – Joren

回答

3

可视程度$metakey'_test_field_one'不相等,但回声时显示为相等。最可能的解决方案是$metakey有一些尾随空格。您可以使用trim($metakey)删除它们。

Official documentation

相关问题