1

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

  1. 用户名
  2. 帖子标题
  3. pods_field_blog_category

user_namepost_title存储在wp_posts表中pods_field_blog_category存储在wp_postmeta表中。

下面的代码显示user_idpost_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; ?>
4

1 回答 1

1

get_post_meta()方法用于获取postmeta。

你可以像这样使用它:

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

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

方法一:

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

方法二:(推荐

$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);
}

希望这可以帮助!

于 2017-01-15T19:40:03.180 回答