可重复的自定义字段显示

时间:2013-02-16 16:55:33

标签: php wordpress custom-fields

我已经用一些PHP来显示一个可重复的字段,但输出只显示了数组

任何想法都会受到很大的影响:

<?php
$repeatable = get_post_meta( get_the_ID(), 'ecpt_eventdaytime', true);
if( !empty($repeatable )) {
    echo '<img src="/wp-content/uploads/2013/02/Time.gif">';
    echo $repeatable ;
    echo "<br><br>";
}
?> 

3 个答案:

答案 0 :(得分:1)

试试这样:

<?php if (have_posts()) :
      while (have_posts()) : the_post(); 
        $repeatable = get_post_meta( get_the_ID(), "ecpt_eventdaytime", true ); 
        echo $repeatable ;
      endwhile;
      endif;
?>

或者,如果要在循环外显示自定义字段值,只需使用以下代码即可。问题是,你只需要ID。

<?php 
    global $wp_query;
    $postid = $wp_query->post->ID;
    echo get_post_meta($postid, 'ecpt_eventdaytime', true);
?>

答案 1 :(得分:0)

因为get_post_meta返回数组需要使用循环

  

引自wordpress

     

<?php $meta_values = get_post_meta($post_id, $key, $single); ?>

     

返回值

     
      
  • 如果只设置了$ id,它将返回关联数组中的所有元值。
  •   
  • 如果$ single设置为false或保留为空,则该函数返回一个包含指定键的所有值的数组。
  •   
  • 如果$ single设置为true,则该函数返回指定键的第一个值(不在数组中)
  •   

答案 2 :(得分:0)

如果ecpt_eventdaytime是数组,那么:

<?php
$repeatable = get_post_meta( get_the_ID(), 'ecpt_eventdaytime', true);
if( !empty($repeatable )) {
    foreach($repeatable as $value) {
        echo '<img src="/wp-content/uploads/2013/02/Time.gif">';
        echo $value;
        echo "<br><br>";
    }
}
?>