2010-04-28 89 views
1

我刚刚关注了Wordpress的this example,并且我已经在Post界面中成功添加了一个额外的Meta Box,并且该值存储在数据库中。如何从自定义创建的元框中返回值?

现在我的问题是,我如何检索和显示这个元框的内容?

我想下面的代码:

$intro = get_post_meta($post->ID, 'post_intro', true); 
    echo $intro; 

,但我得到缥缈。我究竟做错了什么?

虽然我在这里,有没有人知道我是否可以将这个额外的元框放在WordPress的发布页面的默认文本框之上?

回答

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变量,如果你想访问它。除非你别无选择,否则总是使用第一种方法。如果您尝试使用元数据进行页面模板请说明,因为在这种情况下,我有更好的解决方案来处理元数据。

祝你好运!

+0

RobertWHurst是现货。至于在默认的可视化编辑器上面添加额外的元框,您可以使用钩子来完成。参考Adam Brown的WordPress挂钩/过滤列表:http://adambrown.info/p/wp_hooks/ – hsatterwhite 2010-04-29 11:48:49

+0

感谢Robert。是的,我在页面模板中使用它。一篇文章列表,以及正常的page.php和single.php。 – Steven 2010-04-29 16:44:36

+0

@Steven其实我的意思是自定义页面模板,抱歉不清楚。上面的方法在page.php和single.php中可以正常工作,因为这些是标准模板文件。如果您对我的意思很感兴趣,请查看Chris Coyer在CSS Tricks上的这篇文章。 http://css-tricks.com/video-screencasts/41-wordpress-as-a-cms/ – 2010-04-29 18:02:07