我正在使用的方法是:
<h1><?php the_title();?></h1>
<h3><?php echo get_post_meta(get_the_ID(), 'subtitle', TRUE); ?></h3>
这是页面的链接。
页面上的
<hr/>
下方是所有创建的元的列表。由于某些奇怪的原因,唯一会显示的字段是“价格”。任何人都知道我缺少什么吗?
#1 楼
好吧,您使用的是:get_post_meta(get_the_ID(), 'subtitle', TRUE);
所以,您对Wordpress说要获取“字幕”字段的元值,并且返回值的格式为串。请参阅get_post_meta()文档。
要获取帖子的所有元数据,应改用get_post_custom()函数。例如,如果您在循环内:
$custom = get_post_custom();
foreach($custom as $key => $value) {
echo $key.': '.$value.'<br />';
}
这将返回帖子的所有元数据。例如,如果要检查“价格”元字段:
if(isset($custom['price'])) {
echo 'Price: '.$custom['price'][0];
}
评论
最后一个代码块缺少a)
–carbide20
18年4月28日在23:37
看来$ custom ['price']返回一个数组,所以您可能需要执行$ custom ['price'] [0]
– Wal
19年6月25日在14:41
#2 楼
使用此代码解决您的问题。$key_name = get_post_custom_values($key = 'Key Name');
echo $key_name[0];
评论
它确实是get_post_meta()函数,并且如果您在循环内调用它,它应该可以工作...除非您没有使用正确的自定义字段名称。如果它们是通过诸如meta-box之类的插件实现的,则通常带有前缀。您可以张贴代码如何声明自定义字段吗?一种解决方案是在PhpMyAdmin中打开wp_postmeta表,并在meta_key列中搜索LIKE%...%,然后将“ subtitle”指定为meta_key值。您将确切看到Wordpress用来存储自定义字段的名称。我知道这很旧,但是我使用此sql来获取phpmyadmin中所有元字段的列表:从wp_postmeta m中选择m.meta_key m GROUP BY m.meta_key