我正在做一个基本的短代码,用于翻译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;
}
答案 0 :(得分:0)
get_the_ID()函数必须在The Loop中。
如果你想从短代码中提取id,只需要以写方式使用它:$lang = get_post_meta($id,'language',true);