如何正确调用get_post_meta

时间:2010-12-15 10:06:09

标签: php wordpress

我有点困惑,但是如果我调用get_post_meta(get_the_ID(), "event", $single = true);它会返回该键的值,但如果我这样称呼它:

$event_page_meta = "event";


function isEvent()
{
    return get_post_meta(get_the_ID(), $event_page_meta, $single = true);
}

它返回所有元数组。我是相当缺乏经验的php-developer(主要是python),但我看不出这两个调用之间有什么区别。

你能解释为什么我无法将该密钥提取到变量中吗?

1 个答案:

答案 0 :(得分:2)

两个问题:

  1. get_post_meta的第三个参数应为true或false,而不是变量赋值。只需写下true

  2. $ event_page_meta不在函数范围内,您需要将其作为参数传递或使其成为全局。

  3. 醚:

    function isEvent($event_page_meta) {
        return get_post_meta(get_the_ID(), $event_page_meta, true);
    }
    
    //somewhere else
    $something = isEvent($event_page_meta);
    

    或者:

    function isEvent() {
        global $event_page_meta;
        return get_post_meta(get_the_ID(), $event_page_meta, true);
    }
    

    ...这假设$ event_page_meta包含您要检索的元数据键的名称。我不确定为什么它在变量中,而不仅仅是函数调用中的字符串。

相关问题