我刚从Wordpress跟随this example,我已经在Post界面中成功添加了一个额外的Meta Box,并且该值存储在DB中。
现在我的问题是,如何检索和显示此元框的内容?
我正在尝试以下代码:
$intro = get_post_meta($post->ID, 'post_intro', true);
echo $intro;
但是我得到了nada。我做错了什么?
虽然我在这里,是否有人知道我是否可以将这个额外的元框放在Wordpress帖子页面的默认文本框上方?
答案 0 :(得分:4)
是循环中的代码片段吗?如果是,请使用get_the_ID()
代替$post->ID
。
$intro = get_post_meta(get_the_ID(), 'post_intro', true);
echo $intro;
如果您需要在循环外获取元数据,请执行以下操作:
global $post;
$intro = get_post_meta($post->ID, 'post_intro', true);
echo $intro;
您没有得到任何结果的原因是因为如果要访问它,必须全局化$ post变量。除非您别无选择,否则请始终使用第一种方法。如果您尝试将元数据用于页面模板,请说明,因为在这种情况下我有更好的处理元数据的解决方案。
祝你好运!答案 1 :(得分:0)
作为旁注,我想引用WordPress Meta Box PHP Helper class,这可能会帮助您和其他人使用WordPress Meta Box。