ども。
query_postsの中に書いてあるmeta_keyが何なのか、taro33さんは混同しているようです。
全投稿をデータベースから引っ張り出して、それぞれの投稿にmeta_key(カスタムフィールドのキー)に何が設定されているか?というのが、query_postsの条件に書くmeta_keyなりmeta_value
の意味するところです。
[方針]
まず、表示している固定ページに設定されているカスタムフィールドの、キーがcategoriの値を取得します。(例:$categori)
その上で、query_postsに、条件としてカテゴリIDに$categoriを指定して投稿を検索します。
[サンプル]
キーがcategoriが複数指定してある場合や、設定されていない場合のことが書かれていませんので、ひとつも無ければ何も表示しない、複数あっても最初の1つのほかを無視する、
ってことで。
<?php $categori=get_post_custom_values('categori');
if (!is_null($categori)): ?>
<?php query_posts('cat='.$categori[0].'&orderby=date'); ?>
<?php if (have_posts()) : ?>
<dl>
<?php while (have_posts()) : the_post(); ?>
<dt><?php the_date(); ?></dt>
<dd><?php the_title(); ?></dd>
<?php endwhile;?>
</dl>
<?php endif;wp_reset_query(); ?>
<?php endif;?>
とりあえず動くと思いますが、カスタムフィールドに不適切な値が入った場合など
諸々の処理はよしなに。
参考になれば
aimaimさん
早速のお答えありがとうございます。
なるほど、meta_key・meta_valueの使い方を勘違いしていたみたいです。
サンプルのコードで無事動作しました! ありがとうございます。助かりました。
ちなみに、教えて頂いたコードに、投稿タグによる絞り込みは追加できるのでしょうか?
【サンプル】
<?php query_posts('cat='.$categori[0].'&tag=投稿タグ&orderby=date'); ?>
以前調べた所によると、query_postsで「tag=」を他の条件と同時に記述すると
絞り込みが効かなくなるようなので僕レベルでは解決できずあきらめていました。
追加の質問をしてしまい申訳ありません。
もし良ければ宜しくお願いします。
ども。
きちんと動作確認してませんが、おそらく、query_postsを以下のようにすれば、いけるはずです。
<?php query_posts(array('category__in' => $categori,'tag_slug__and' => array('投稿タグ'),'orderby'=>'date')); ?>
適宜修正してください。
[参考]
参考になれば。
aimaimさん
重ね重ねありがとうございます!
教えて頂いた投稿タグの方も今から試してみたいと思います。
お手数おかけ致しました。