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

2022-08-30 12:24:26

我正在尝试显示post元值和post元键,如果只显示一个值,我可以使用简单的函数get_post_meta(),但我现在需要的是使用相同的post_id发布所有post元数据。我尝试使用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;
}

答案 1

默认用法

获取所有键的元:

<?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/>';
}

注意:一些以“underscore(_)”开头的不需要的元键也会出现,因此您需要过滤掉它们。

参考资料:见法典


答案 2

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

$meta_values = get_post_meta( get_the_ID() );

var_dump( $meta_values );

希望它有帮助!


推荐