get_post_meta()返回空

时间:2015-07-03 17:48:16

标签: wordpress translation shortcode

我正在做一个基本的短代码,用于翻译wordpress网站页脚中的文本,并且我使用get_post_meta()来识别元标记中的语言(我在这里添加一个插件,用于在标题中插入html代码)但它返回空我想知道这是因为插件和他创建元素的顺序(首先他执行我的短代码然后插件)或如果它是别的东西。

function text_Footer($atts, $content=null){ 

    extract(shortcode_atts(array(
            'id' => ''
    ), $atts));
    $ID = get_the_ID();
     $lang = get_post_meta(ID,'language',true);
    if($lang == 'portuguese')
    {
    $output='<p>Text in portuguese</p>';
    }
    else
    {
    //echo $lang."nope";
    $output = '<p>Text in spanish</p>';
    }
    return $output;
}

1 个答案:

答案 0 :(得分:0)

get_the_ID()函数必须在The Loop中。 如果你想从短代码中提取id,只需要以写方式使用它:$lang = get_post_meta($id,'language',true);