なんらかの理由で、WP_Queryに投稿のカスタムフィールド値を返すことができません。投稿のサムネイルはget_the_post_thumbnail($post->ID, array(50,50))
で取得できますが、get_post_meta($post->ID, $key, true)
を使用してカスタムフィールドデータを取得することはできません。WordPress WP_Queryはカスタムフィールドのポストメタを返すことができますか?
私が何をしようとしているの機能縮小版:
<?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
のようなパラメータを使用して結果を絞り込むことができますが、指定したキーが存在する場合はすべての値を各ポストに表示したいだけです。
任意の助けをいただければ幸いです...
** SOLUTION FOUND **ただ、ループの開始後global $post;
を追加するために必要な
あなたのお返事ありがとうございます。 $ postオブジェクトを印刷すると、疑わしいものが確認されたので便利でした。カスタムフィールドデータがWP_Queryによって返されていません。私はカスタムMySQLクエリを構築する必要があります...あなたの質問に答えるために、3番目のパラメータがfalseに設定されても、何も返されません。各カスタムフィールドにはいずれにしても1つの値しか含まれていないので、そこに配列は必要ありません。 –
もう1つのカップルの考え:画面に$ postを印刷するときに、ページの異なる領域で行ってみると、欠落しているデータだけを抜き出して、 $ postの内容は新しいクエリ結果で上書きされました。 また、カスタムクエリを書き込むために、setup_postdata()メソッドと組み合わせて$ wpdbオブジェクトについての人の意見をチェックしてください。 – DeviousBlue