我已经设置了一系列自定义字段供网站页面使用,我可以使用get_post_meta将值输出到页面上,没有任何问题。
为了将多个回调保存到数据库,通过实现get_post_meta的多个变体,我决定使用get_post_meta($ post-> ID),然后拉出数组中存在的各种自定义字段。
问题在于显示这些数据,我已经在下面包含了我用于此过程的代码,但是不是使用多个if语句来显示自定义字段值,我想知道是否有人可以指出我朝着更简单的方向编码。
这个解决方案在显示数据方面非常有效,但我想知道你们中的一些忍者如何更聪明地做到这一点,并且可能会保留一些代码行!
很高兴听到你解决这个问题的方法(尽管我确定这是一个相当直接的fr),以加强我对语言的理解!!
<?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>"; } ?>
答案 0 :(得分:1)
我确定你不想在有空字符串等时回显结果,你可以使用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>";
?>