0

「商品」カテゴリの投稿を1ページに表示するカスタムテンプレートを作成しました。いくつかのカスタムフィールドがあります。ページにカスタムフィールドの値を表示する必要があります。get_post_custom_valuesを次のように使用しましたが、次のようなエラーが発生します

Warning: Invalid argument supplied for foreach() in C:\wamp\www\SampleSite\wp-content\themes\TwentyElevenChildTheme\products.php on line 11

products.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; ?>

エラーが何であるかわかりません。誰かがこれを手伝ってください

4

2 に答える 2

1

get_post_custom_values()キーが存在しない場合はnullを返します。参照: wp-includes/.post.php:1892

戻り値を配列にキャストして、常に配列を処理していることを確認し、その警告を回避できます。

<?php $key_values = (array) get_post_custom_values("Description"); ?>
于 2013-02-26T13:36:42.490 に答える
0

なぜ使用しないのget_post_metaですか?私は自分のウェブサイトでそれを使用しており、期待どおりに機能しています。

于 2013-02-26T13:33:26.340 に答える