为什么';无法在WordPress的循环中获取\u post\u custom()工作?

为什么';无法在WordPress的循环中获取\u post\u custom()工作?,wordpress,Wordpress,我在WordPress中创建了一个自定义帖子类型,在单帖子模板中,我使用get_post_custom()函数成功地拉入了自定义数据 但是在帖子列表的循环中,函数不起作用,返回的是一个空数组 以下是我所拥有的: <?php $loop = new WP_Query( array( 'post_type' => 'web-design', 'posts_per_page' => 10 ) ); ?> <?php $i = 0; ?> <?php whi

我在WordPress中创建了一个自定义帖子类型,在单帖子模板中,我使用get_post_custom()函数成功地拉入了自定义数据

但是在帖子列表的循环中,函数不起作用,返回的是一个空数组

以下是我所拥有的:

<?php $loop = new WP_Query( array( 'post_type' => 'web-design', 'posts_per_page' => 10 ) ); ?>

<?php $i = 0; ?>

<?php while ( $loop->have_posts() && $i < 3 ) { $loop->the_post(); ?>

<article class="project-link <?php echo 'num' . $i ?>">
    <div class="pad">

        <?php $project_info =  get_post_custom(); ?>

        <?php 

        foreach ($project_info as $i => $values) {
            print "$i {\n";
            foreach ($values as $key => $value) {
                print "$key => $value\n";
            }
            print "}\n";
        }

        ?>      

        <?php echo $project_info['url'][0]; ?>  

我一点也不想回来

有人知道为什么这样不行吗?它在单个帖子模板中运行良好,为什么不在循环中运行呢

谢谢

post_custom()有许多存储在数组中的变量

如果您知道所需的特定键或值,则可以使用

或者像这样通过它们传播:

<?php

  $mykey_values = get_post_custom_values('my_key');
  foreach ( $mykey_values as $key => $value ) {
    echo "$key  => $value ('my_key')<br />"; 
  }

?>

问题似乎出在数据库上。我注意到,如果我删除了某些帖子,那么它就会开始正常工作。不过,我还没有发现这些帖子有什么问题,如果我删除它们,然后重新创建它们,它们通常都没问题


我给任何有这个问题的人的建议是,试着把你的一些帖子移到垃圾箱,看看它是否开始工作。

谢谢Obmerk,但由于某些原因,这在循环中仍然不起作用。出于某种原因,它只是返回一个空字符串或数组。但是,它在单个帖子上工作得非常好。如果它在单个帖子上工作,而不是在循环中工作,那么问题可能是您的自定义查询。。另外请注意,您在示例中显示的是嵌套数组,谢谢您的解释,我可以如何开始测试自定义查询?我将print_r()用于$loop对象,它没有返回任何自定义值。在functions.php文件中设置自定义帖子时也会出现问题吗?或者,它在单帖中起作用的事实表明它是好的?再次感谢,就像我之前说过的——它返回的是值,但作为内部的欠费和欠费。嵌套数组。。试着阅读这里:或者这里:嗯,它仍然不起作用。我将按如下方式存储数组:。然后我使用上面链接中的foreach代码对其进行迭代。但实际上什么都没有出来。我应该编辑我的问题并发布整个代码吗?
<?php

  $custom_fields = get_post_custom(72);
  $my_custom_field = $custom_fields['my_custom_field'];
  foreach ( $my_custom_field as $key => $value )
    echo $key . " => " . $value . "<br />";

?>