WordPressのquery_postsについて質問させてください。
初心者なのですが、ハマってしまいましてズバリご回答いただいた方に
1000P差し上げます(参考になればその他の方にも高ポイント)。
プログラムの一部に下記があり、カテゴリ?の1と2と6を取得しているのですが、
<?php if ( have_posts() ) : query_posts('cat=1,2,6'); ?>
上記の、1,2,6の部分をカスタムフィ?ルドから入力したいのです。
(プラグインの「Advanced custom field」を使用予定です)
つまり、<?php if ( have_posts() ) : query_posts('cat=<?php echo post_custom("Category")?>'); ?>としたいのです。しかし、これは当然動きません。<php ?>の中に更に<php ?>を入れられないですし、そもそもquery_postsにカスタムフィ?ルドの値を表示させることもできません。
代案を探しているのですが見つからず困っております。
「get_post()」か「WP_Query()」を使えば良いらしいということはわかっているのですが、うまく置き換えることができません。
うまくいく方法を教えていただけませんでしょうか。
ちなみに本体のプログラムはグ?グルマップを表示するもので、1,2,6のカテゴリ?に属する店舗情報の住所(lat,lon)を取得し、マ?カ?を一覧表示させています。
ソースの全体が分からないと何とも言えませんが、カスタムフィールドを取得する対象の投稿が $post という変数に入っていた場合にはこのような感じになると思います。
クエリするカテゴリが query_categories というカスタムフィールドに入っているとします。
<?php
$categories = get_post_meta( $post->ID, 'query_categories', true);
if ( have_posts() ) : query_posts('cat=' . $categories);
?>