wordpress - WordPress WP_Query 可以返回自定义字段发布元数据吗?

标签 wordpress meta custom-fields

出于某种原因,我无法让 WP_Query 返回帖子的自定义字段值。我可以使用 get_the_post_thumbnail($post->ID, array(50,50)) 获取帖子缩略图,但我无法使用 get_post_meta($post->ID, $key, true) 获取自定义字段数据.

我正在尝试做的精简版:

<?php
    $keys = array('Show Date','Birth Year','Origin');

    echo '<table>';
    echo '<tr><th>Title</th>';
    foreach( $keys as $key ) {
        echo '<th>' . $key . '<th>';
    }
    echo '</tr>';

    $myquery = new WP_Query( 'post_type=post' );
    if( $myquery->have_posts() ) : while( $myquery->have_posts() ) : $myquery->the_post();

        $title = get_the_title();
        echo '<tr><td>' . $title . '</td>';

        $values = array();
        foreach( $keys as $key ) {
            $values[] = get_post_meta($post->ID, $key, true);
        }
        foreach( $values as $value ) {
            echo '<td>';
            echo $value;
            echo '</td>';
        }
        echo '</tr>';

    endwhile; endif;

    echo '</table>';
?>

也可在此处获得:
http://pastebin.com/at8S2THs

即使删除了所有非必要代码,我也无法完成这项工作。我知道您可以使用 meta_key 等参数和 meta_value在查询中缩小结果范围,但我只想为每个帖子显示我指定的键的所有值(如果存在)。

任何帮助将不胜感激...

** 找到解决方案 **

只需添加global $post;循环开始后。感谢 WP 支持论坛上的 @Kimikaze 提供解决方案!

最佳答案

当我在 wordpress 中找不到我需要的数据时,我总是发现将 Global $post 对象打印到屏幕上很有帮助,这样我就可以查看我的数据是否正在进入页面。

Global $post;
echo "<pre>";
 print_r($post);
echo "</pre>";

所有的辅助方法或“钩子(Hook)”通常只是与这个(或另一个)全局对象交互。检查 $post (可能还有 $values 数组)上的输出以获取您正在寻找的数据,如果它在那里,您可以直接引用它,例如帖子标题
$post->title

另一个想法,get_post_meta() 的第三个参数使它在设置为 true 时返回单个字符串,当它设置为 false 时你会得到什么?

关于wordpress - WordPress WP_Query 可以返回自定义字段发布元数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8086017/

相关文章:

javascript - 菜单链接无法正常工作

tags - Google SEO如何标记网站代码以进行结构化数据识别?

c++ - Scala 严格类型系统与 C++ 类型系统

php - 在 Drupal 7 模板中获取自定义用户字段的值?

php - wp_schedule_event()在类激活函数中不起作用

mysql - 如何在持续交付中为 WordPress 执行高级数据库 merge ?

php - 将自定义字段数据添加到 WooCommerce 订单

php - 查询由 post_object 自定义字段过滤的帖子

php - 当用户在 WooCommerce 中再次登录时从购物车中删除以前的项目

php - 防止浏览器缓存图片