我对PHP/wordpress相当陌生,这实际上是我第一次无法通过google回答问题!我正在努力提高PHP/WP的总体速度,但我似乎学习速度不够快,无法跟上我们已经需要完成的任务。请容忍我的无知。如果您能给我任何建议,或是朝着正确的方向努力,我将不胜感激。
基本上,我已经学习了许多教程,并使用Jared Datch的CMB脚本完成了一个自定义帖子类型(“report”),它现在包含一系列元盒、自定义分类法和自定义功能,允许特定角色的用户仅访问此帖子类型。在WP后端,一切看起来都正常(目前)--正在保存和检索框中的数据属性,等等。
http://pastebin.com/Ba82Fzbs
然后我创建了一个报告。php模板,后跟内容报告。php模板(我使用的是一个2112子主题),据我所知,我需要在内容报告中做一些事情。php模板,用于在各个页面上显示自定义元数据库中的信息。
我想以允许进一步样式/安排的方式显示与自定义帖子类型“报告”关联的所有元数据库。到目前为止,我已经尝试了do\\u meta\\u box()和get\\u post\\u meta(),我想我只是没有从根本上理解这两者的正确用法,因为没有显示任何信息。
我相信get\\u post\\u meta()将为我提供我所需要的(能够从各个元数据库中回显数据,以便我可以对其进行安排),这就是我将其插入页面模板的方式:
<?php get_post_meta( get_the_ID(), \'date-time\');
echo get_post_meta( get_the_ID(), \'date-time\'); ?>
从前端查看时,在该点上只显示“阵列”。我的自定义帖子类型和元框的“实践”版本也有同样的问题,所以我假设这不仅仅是一个拼写错误,我缺少一些非常基本的东西。
我将非常感谢您在这方面的任何帮助,并感谢您阅读到此为止!
最合适的回答,由SO网友:Milo 整理而成
查看您的代码,似乎所有的元键都以_cmb_
. 开始时间键为text_datetime_timestamp
, 因此,结合前缀,您要获取:
get_post_meta( get_the_ID(), \'_cmb_text_datetime_timestamp\', true );
请注意第三个参数,如果设置为,它将检索单个值
true
, 因为可以在一个键下保存多个值,这将产生一个值数组。
查看保存元数据的所有键的最简单方法是通过get_post_custom_keys
:
$custom_field_keys = get_post_custom_keys();
foreach( $custom_field_keys as $key => $value ) {
echo $key . " => " . $value . "<br />";
}
将其放入循环中,它将告诉您保存元数据的所有键的名称。