在wordpress中显示相同帖子ID的所有帖子元键和元值

时间:2014-03-06 05:59:48

标签: php wordpress

我正在尝试显示后元值并发布元键,如果只显示一个值,我可以使用简单函数get_post_meta(),但我现在需要的是使用相同的post_id发布所有后期元数据。我尝试使用foreach循环,但没有显示。你可以检查我的代码吗?

function wpt_calendar_display()
{
    global $post;

    $columns = array(
        'date_event' => 'Date',
        'name_event' => 'Event'
    );
    register_column_headers('list-header_events', $columns);

    $event_name = get_post_meta( $post->ID, '_event_name' );
   // $event_date = get_post_meta( $post->ID, '_event_date', false );

    $return .= "<table class=\"widefat\">";
    $return .= "<tr>";
    $return .= print_column_headers('list-header_events');
    $return .= "</tr>";
    $return .= "<tr>";

    if (!empty($event_name))
    foreach($event_name as $e_name)
    {
        $return .= "<td>";
        $return .= $e_name;
        $return .="</td>";

    }

    $return .= "<td>";

    $return .= "</td>";
    $return .= "</tr>";
    $return .= "</table>";
    return $return;
}

5 个答案:

答案 0 :(得分:52)

  

默认使用

     

获取所有密钥的元数据:

<?php $meta = get_post_meta($post_id); ?>
  

获取单个密钥的元数据:

<?php $key_1_values = get_post_meta( 76, 'key_1' ); ?>

例如:

$myvals = get_post_meta($post_id);

foreach($myvals as $key=>$val)
{
    echo $key . ' : ' . $val[0] . '<br/>';
}
  

注意:一些以“下划线(_)”开头的不需要的元键也会出现,因此您需要将其过滤掉。

供参考:See Codex

答案 1 :(得分:1)

我以元框的形式使用它。这是一个转储所有元数据的值的函数。

?

希望它有所帮助。您可以在元框内或前端使用它。

答案 2 :(得分:1)

$myvals = get_post_meta( get_the_ID());
foreach($myvals as $key=>$val){
  foreach($val as $vals){
    if ($key=='Youtube'){
       echo $vals 
    }
   }
 }

Key = Youtube视频youtube视频和值的所有元键

答案 3 :(得分:0)

要获取所有行,请不要指定键。试试这个:

$meta_values = get_post_meta( get_the_ID() );

var_dump( $meta_values );

希望有帮助!

答案 4 :(得分:-1)

WordPress有函数get_metadata这个得到了对象的所有元素(帖子,术语,用户......)

只需使用

get_metadata( 'post', 15 );