在具有多维数组的页面上显示自定义字段数据

时间:2014-06-17 10:47:24

标签: php arrays wordpress multidimensional-array custom-fields

我已经设置了一系列自定义字段供网站页面使用,我可以使用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>"; } ?>

1 个答案:

答案 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>";
?>