我有一个自定义字段的选择设置在一个网站的页面上使用,我没有问题,在回声的值到页面上使用get_post_meta。
为了保存多个回调到db,通过实现get_post_meta的多个变体,我决定使用get_post_meta($post->ID),然后拉出存在于其中的数组中的各种自定义字段。
问题在于显示这些数据,我已经包含了我在下面这个过程中使用的代码,但是,而不是使用多个if语句来显示自定义字段值,我想知道是否有人可以向我指出一个更简单的编码方向。
这个解决方案工作完美,关于显示数据,但我想知道你们中的一些忍者如何做得更聪明,也许节省一些代码行!!
很高兴听到你对这个问题的解决方案(尽管我确信这是一个相当直截了当的问题),以提高我对语言的理解!!
<?php $custom = get_post_meta($post->ID);
if($custom['wpcf-description'][0]==!null){
echo "</br>";
echo "<p>";
echo $custom['wpcf-description'][0];
echo "</p>"; }
if($custom['wpcf-length-overall'][0]==!null){
echo "<tr>";
echo "<td>Overall Length: </td>";
echo "<td>";
echo $custom['wpcf-length-overall'][0];
echo " Meters";
echo "</td>";
echo "</tr>"; } ?>
我确定你不想在你有空字符串等时返回结果,你可以使用empty()来检查这个
<br>
不能用来划分内容,这是一个不好的做法。最好的方法是实现css class/id并以这种方式管理你的布局。
你也可以为数据实现临时变量来整理代码,多2行,但更可读。
<?php
$custom = get_post_meta($post->ID);
$desc = $custom['wpcf-description'][0];
$total = $custom['wpcf-length-overall'][0];
if(!empty($desc))
echo "<p class='newline'>".$desc."</p>";
if(!empty($total))
echo "<tr><td>Overall Length: </td><td>".$total." Meters</td></tr>";
?>