サポート » 使い方全般 » 特定のカスタム投稿をカスタムフィールドのチェックボックスで指定する方法

  • 解決済 rockstream2016

    (@rockstream2016)


    エリア(single-area.php)で特定の店舗(shop)を
    エリアのカスタムフィールドのチェックボックスで指定して表示させたいです。

    
    <?php 
        $args = array(
                'post_type' => 'shop',
                'name' => 'tokyo', 
        ); 
     
        $my_posts = query_posts( $args ); 
        foreach ($my_posts as $post): setup_postdata( $post ); 
    ?>
        
    ここに投稿記事一覧を出力
     
    <?php endforeach; wp_reset_query();?>
    

    こちらのタグを参考にしていますが、
    ‘name’ => ‘tokyo’, のところをエリアのチェックボックスで指定してsaitamaやosakaなどに変えたいと考えています。
    チェックボックスのフィールド名はshop_areaです。

    例えば

    
    get_list_cf_checkbox($post->ID,'shop_area')
    

    が使えないかと思いましたがエラーとなりました。

    何かいい方法をご伝授いただけると助かります。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 個人的に方向性が間違ってると思う。

    カスタムフィールドは、投稿にデータを紐つけるものであって、
    問い合わせや絞り込みのためのフォーム(form)ではないと思います。
    ここらへん、データーべースの正規化とかと基本的には同じ手続きを踏むんだと思います。
    mySQLの何とか(?)エンド(入力やら問い合わせやの画面)をwordpressをインターフェースとして作るみたいな感じ?

    それとsaitamで絞り込みたいなら、single以外のテンプレートを使うことになるのではないでしょうか。

    カスタム投稿shopがあるとすればそれに所在地(県)を紐つけるためにカスタムフィールドareaを設定する。
    この場合はareaはカスタム分類の方がいいかもしれません。

    問い合わせフォームを用意して、valueがsaitamaを問い合わせる。
    areaがsaitamaの投稿一覧を表示する。

    個店の情報をsingleで表示する。

    という流れなんじゃないでしょうか。

    ご回答ありがとうございます。

    とりあえず、個別でカスタムフィールドから情報を入力する方法にしました。

    もし、チェックボックスの指定で情報取得する方法が見つかったら、こちらにソースコードをアップしたいと思います。

    rockstream2016

    (@rockstream2016)

    やっと解決方法が見つかりました。
    ‘terms’ => get_post_custom_values( ‘カスタムフィールド’, $post_id ),
    にすることにより実現できました。
    チェックボックスではなく、テキストエリアにタームスラッグを入力する方法にしました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。