GET_POST_CUSTOM_VALUES不起作用

时间:2013-02-26 作者:MidhuN

我制作了一个自定义模板,在一个页面中显示“产品”类别中的帖子。我有一些自定义字段。我需要在页面中显示自定义字段的值。我使用的get\\u post\\u custom\\u值如下所示,但我得到的错误如下所示

Warning: Invalid argument supplied for foreach() in C:\\wamp\\www\\SampleSite\\wp-content\\themes\\TwentyElevenChildTheme\\products.php on line 11
产品代码。php如下所示。

<?php
/*
Template Name: Product Template
*/
?>
<?php get_header(); ?>
<div id="content" class="narrowcolumn">
  <?php $recent = new WP_Query("cat=4&showposts=10"); while($recent->have_posts()) :$recent->the_post();?>
  <?php $key_values = get_post_custom_values("Description"); ?>
  <?php foreach($key_values as $key => $value )?>
  <?php echo  "$key  => $value("Description") <br />";?>
  <?php endwhile; ?>
</div>
<?php get_footer(); ?>
我找不到错误是什么。谁来帮帮我。

2 个回复
最合适的回答,由SO网友:RRikesh 整理而成

这很可能意味着没有检索到键的自定义post值Description 你用过的。根据Codex, Returns nothing if no such key exists, or none is entered.

尝试添加print_r($key_values); 就在那之后get_post_custom_values("Description"); 并检查是否检索到任何值。

要跳过此警告(当您没有任何与帖子关联的自定义帖子值时),应检查$key_values is an array 在执行foreach. 别忘了避开你的双引号。

if( is_array( $key_values ) ){
  foreach($key_values as $key => $value );
  echo  "$key  => $value(\\"Description\\") <br />"; #You should escape your double quotes here!
}

SO网友:birgire

你可以试试

<?php $key_values = get_post_custom_values("Description",get_the_ID()); ?>
ps: 您应该使用posts_per_page 而不是showposts 在里面WP_Query().

还可以使用调试

 print_r(get_post_custom(get_the_ID()));
查找帖子中的所有自定义字段。

http://codex.wordpress.org/Function_Reference/get_post_custom

结束

相关推荐