- 締切済み
Wordpressにおいてカスタム投稿の読み込み
Wordpressにて美容系ポータルサイトを作っています。 お店情報のカスタム投稿 口コミのカスタム投稿 の二つ、そしてトップページとの連動を作りたいと思っています。 まずはお店情報にはサロン名やら営業時間やらキャンペーンメニューなどがポストタイプ(salon_posttype)にて入っています。 口コミには行ったサロン名や、感想、名前などがポストタイプ(review_posttype)で入っています。 そこでお店情報のページに、 そのお店の口コミの投稿を表示させたいと思っています。 つまり、review_posttypeにて入れた、'salonname'のキーがそのページのページ名=(サロン名)と同じであれば表示、で行けるかなと構文を書きましたが、ここからがわかません。 <?php query_posts('&post_type=review_posttype'); while(have_posts()) : the_post(); ?> <?php if( get_post_meta(get_the_ID(), 'salonname', true) != '' ):?> ↑↑↑ここを"もしsalonname=今見ているページの題名なら"にしたいです。↑↑↑ <p class="title"><?php echo get_post_meta(get_the_ID(), 'salonname', true);?></p> <p class="naiyou"><?php echo get_post_meta(get_the_ID(), 'review_naiyou', true);?></p> <p class="detail"><a href="<?php the_permalink() ?>">詳しくはこちら</a></p> <?php endif;?> <?php endwhile; ?> <?php wp_reset_query(); ?> どこをどうしたらいいでしょうか?そもそもここまでも合っていますか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- H240S18B73
- ベストアンサー率65% (190/288)
WordPressのバージョンは3.1以上なら meta_queryを使ってquery_postsしたほうがスマートかと思います <?php query_posts('&post_type=review_posttype'); while(have_posts()) : the_post(); ?> ↓ <?php $current_page_title=get_the_title(); query_posts(array( 'post_type'=>'review_posttype', 'meta_query'=>array( array( 'key'=>'salonname', 'value'=>$current_page_title ) ) )); while(have_posts()) : the_post(); ?> ベタ打ちなのでどこか間違ってるかも
お礼
ありがとうございます。 上記のように書いてみたのですが、その箇所には何も表示されずでした。。。 またifを使った新着何件までみたいな条件もつけたいです。(こちらはトップページ用です)