サポート » 使い方全般 » 施設一覧をカスタムフィールドとカテゴリでソートできるようにしたい。

  • 解決済 inocchi_68

    (@inocchi_68)


    お世話になります。
    自分自身はWordPressでブログやホームページをいじったりはするものの、
    テンプレートタグ、PHP共にものすごく初心者です。
    調べながら進めたりしていましたが、
    やろうとしている事が身の丈に合っていないので、
    進むべき方向すらも分からなくなってしまいました。
    どなたかヒントだけでも構いませんので、
    お知恵をお貸し下さいます様、お願い申し上げます。

    ■テーマ■
    買った本のサンプルデータを使っています。
    http://www.mdn.co.jp/di/book/3213203043/

    ■やりたい事■(見本サイト→http://www.attaka.or.jp/ryoma-pass/passport_list.php)
    ・施設の一覧を作りたい。
    ・エリア(東、西、南)とカテゴリ(13項目)の2条件でソートさせて表示する。
    ・カテゴリの内1項目(グルメ)のみ、その下の階層に(グルメジャンル)が選べるように。
    ・デフォルトは(東、グルメ→すべてのジャンル、新着順)

    ■やった事■
    ・カテゴリを設定。
    ・カスタムフィールドテンプレートで、表示させたい施設情報と、
     エリアとグルメジャンルが設定できるようにする。
    ・施設情報を出力させ、CSSでレイアウトを整える。
    ・下記を参考にさせてもらい、左サイドバーに
     ソートのボタンを配置させるように試してみるもできず断念。
     (http://yahss.net/wordpress/260-260/)

    以上です。質問自体も初めてさせて頂くので、
    不手際があるかもしれませんが、何卒よろしくお願い致します。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    似たようなことをやったことあります。
    カスタムフィールドでもできますが、カスタム分類(タクソノミー)でやったほうが、階層化(グルメの下にグルメジャンル)とか楽な気がします。アーカイブページ生成されますし。
    ちょっと今モバイルからさらっと確認してる程度なので、とりあえず手前味噌で恐縮ですが、自分がやったときの記事紹介します。コメント欄で紹介してる記事も参考になると思います。
    http://mypacecreator.net/blog/archives/1807

    カスタムタクソノミーってこういうときのためにあると思うので、複数の記事を束ねる用途であればカスタムフィールドより適していると思います。

    mypacecreator様

    ご教授頂き、まことにありがとうございますm(__)m
    とっても分かりやすいページですね!!
    記事を読ませて頂き、タクソノミーの理解を深め、実装も成功しました♪
    ただ、できればページを検索ではなく、アーカイブとして、
    動的に切り替えが出来たらと思うのですが…。
    お伝えする情報が不足しており申し訳ございません。

    http://tipsbear.com/wordpress-taxonomy-get-terms-listing-in-order-of-parent-child/
    http://tipsbear.com/wordpress-dropdown-of-custom-taxonomy/
    上記を参考にさせて頂き、親タームにカテゴリ、子タームにグルメジャンルを設定し、
    実装もできました。これにラジオボタン等で、デフォルトのカテゴリ機能か、
    カスタムフィールドの値を使って、エリアでソート出来ればありがたいのですが、
    それはかなりややこしいものなのでしょうか…?

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    私の記事で紹介した方法で、キーワード検索無しの「カテゴリ×カスタム分類」の絞り込みできますよ。

    以前、まさに「エリア(area)」×「カテゴリ」で絞り込む実装をやったことあります。
    そのときはこんな感じでやりました。

    <form action="<?php echo home_url(); ?>" method="get">
    エリアを選択:
    <select name="area">
    <option value="">すべてのエリア</option>
    <?php
      $terms = get_terms('area', array(
           //ここにお好きなパラメータ
        'hide_empty' => 0
    ));
      foreach ($terms as $term):
    ?>
        <option value="<?php echo esc_attr($term->slug); ?>"><?php echo esc_html($term->name); ?></option>
    <?php endforeach; ?>
    </select>
    カテゴリを選択:
    <?php wp_dropdown_categories( array(
           //ここにお好きなパラメータ
        'show_option_all' => 'すべてのカテゴリ'
    )); ?>
    <input type="submit" value="この内容で検索!" />
    </form>

    divとかclass適当に付けてきれいにスタイリングしてください!

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    ※wp_dropdown_categoriesはカテゴリーをドロップダウンメニューで表示させるための関数なので、ラジオボタンが良ければたとえば

    <?php
      $terms = get_terms('area ※または category', array(
           //ここにお好きなパラメータ
     	'hide_empty' => 0
     ));
      foreach ($terms as $term):
    ?>
      <label><input type="radio" name="area" value="<?php echo esc_attr($term->slug); ?" /><?php echo esc_html($term->name); ?></label>
    <?php endforeach; ?>

    とかでできそうな。

    参考:get_terms
    http://codex.wordpress.org/Function_Reference/get_terms
    http://elearn.jp/wpman/function/get_terms.html

    mypacecreator様

    ご返信遅れまして申し訳ございません。
    お教え頂いた構文で、何とかエリアとカテゴリで
    検索させる事に成功いたしました!
    ありがとうございましたm(__)m

    因みに、検索ボタンを無くして、
    ・エリアのラジオボタンを押した瞬間
    ・カテゴリを選択した瞬間
    にアーカイブに切り替わるようにする事はできますでしょうか?

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    検索ボタンを無くして、
    ・エリアのラジオボタンを押した瞬間
    ・カテゴリを選択した瞬間
    にアーカイブに切り替わるようにする事はできますでしょうか?

    うーん、できると思いますが、個人的にはやったことないです。
    基本的にはJavaScriptを自分で書いていくことになると思います。
    (カテゴリーウィジェットのドロップダウンメニューも、wp_dropdown_categoriesにJSの処理をプラスすることで遷移しています。)

    JSは専門外なので詳しくお答えできませんが、こういうところに書いてあることを把握した上でカスタマイズしていくことになるのかなぁ、というヒントだけでご容赦ください。

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    というか、そもそもリアルタイムで変化させたいならラジオボタンはふさわしくないと思います。(利用者への配慮という意味でです。普通ラジオボタン選択時にリアルタイムで画面が切り替わることを想定している人は少ないのではないでしょうか。)
    押したら画面が変わることを期待されてるのは普通のリンクテキストやボタンじゃないでしょうか。それか、ドロップダウン(select要素)でもよいのでは。

    mypacecreator様

    ご返信ありがとうございます。やはりJSになるのですね。
    確かにラジオボタンやテキストよりは、リンクテキストやボタンの方がいいですね!
    いえいえヒントを頂けて助かります!勉強させて頂きます(^^)♪
    右も左も分かっていない私に、とても親切にして下さってありがとうございましたm(__)m
    私も人に教えられるぐらいになれるように精進致します!

    一旦解決済みにさせて頂きます。
    ありがとうございました。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「施設一覧をカスタムフィールドとカテゴリでソートできるようにしたい。」には新たに返信することはできません。