WordPressでカスタムの投稿タイプを作成しました.1つの投稿テンプレートで、get_post_custom()関数を使用してカスタムデータを正常に取得しています。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]; ?>
そして私は全然戻ってくる何も持っていない:
は、ここで私が持っているものです。
これはなぜ動作しないのですか?それは、単一の投稿テンプレートでうまく動作します、なぜループにはありませんか?
ありがとうございます!
ありがとうございますObmerk、しかしこれは何らかの理由でループ内でまだ動作しません。何らかの理由で、空の文字列または配列を返すだけです。しかし、それは完全に単一の投稿で動作します。 – shrewdbeans
ループで動作する場合よりも、単一のポストで動作する場合は問題がカスタムクエリとなる可能性があります。また、あなたの例で示したことはネストされた配列です –
説明してくれてありがとう、私のカスタムクエリをテストしますか? $ loopオブジェクトでprint_r()を使用しましたが、カスタム値が返されませんでした。また、問題はfunctions.phpファイルのカスタム投稿の設定にもありますか?それとも、1回のポストショーでは大丈夫だという事実はありますか?再び私に言ったように – shrewdbeans