显示wp_post和wp_postmeta

时间:2017-01-15 18:32:11

标签: php wordpress post post-meta

我正在尝试为我的数据库中的所有帖子获取以下3列

  1. USER_NAME
  2. POST_TITLE
  3. pods_field_blog_category
  4. user_name post_title 存储在wp_posts中pods_field_blog_category 存储在wp_postmeta表中。

    在代码下方显示, user_id post_title ,但我不知道如何获取meta_value并显示它:

    <?php
    $posts = get_posts(array(
        'posts_per_page' => -1,
        'post_type' => 'custom_post'
            )
    );
    
    if ($posts):
        ?>
        <ul>
            <?php
            foreach ($posts as $post):
    
                setup_postdata($post);
                ?>
                <li>
                    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                    //what should be the code to display the meta value pods_field_blog_category
                </li>
            <?php endforeach; ?>
    
        </ul>
    
        <?php wp_reset_postdata(); ?>
    
    <?php endif; ?>
    

1 个答案:

答案 0 :(得分:1)

get_post_meta() methord用于获取postmeta。

你可以像这样使用它:

$key_1_value = get_post_meta($post->ID, 'pods_field_blog_category', true);

<强>已更新
如果您想要检索多个postmeta,那么您可以使用以下任何一种方法:

方法1:

$key_1_value = get_post_meta($post->ID, 'key_1', true);
$key_2_value = get_post_meta($post->ID, 'key_2', true);

方法2 :( 推荐

$key_value = array();
$meta = get_post_meta($post->ID);
foreach ($meta as $key => $value)
{
    $key_value[$key] = $value[0];
}
print_r($key_value);

方法3:在评论

中说我的@daniel
$keysArray = array('key_1', 'key_2', 'key_3');
foreach ($keysArray as $key)
{
    $key_value = get_post_meta($post->ID, $key, true);
}

希望这有帮助!