久々に自分用メモです。
WPネタですので興味ない人はスルーで。
完全なメモですので。
広告
並び替えは『GET』で簡単に
先日勉強がてら作った3Dプリンタの商品収集サイト。
そこで金額順の並び替え等を出来るようにしました。
その時のメモです。
手順としてはパラメータを渡して動作させれば良いだけ。
if ( $query->is_category() && isset($_GET['pricehl'] )){ if( $_GET['pricehl'] == 'low' ){ $query->set('orderby','meta_value_num'); $query->set('meta_key','LastPrice'); $query->set('order','ASC'); } elseif( $_GET['pricehl'] == 'high' ){ $query->set('orderby','meta_value_num'); $query->set('meta_key','LastPrice'); $query->set('order','DESC'); } }
↑は3dプリンタプライムのコードの一部ですが、[‘pricehl’]がある場合、lowもしくはhighで順番を変える。
ただそれだけ。
上ではカスタムフィールドの値でとっている。
『pre_get_posts』にフックすると比較的簡単に出来ると思う。
<?php $cat = get_queried_object();?> <a href="<?php echo get_category_link($cat -> cat_ID); ?>?pricehl=low">安い順</a> <a href="<?php echo get_category_link($cat -> cat_ID); ?>?pricehl=high">高い順</a>
こんな感じで渡すためのリンクを作れば良い。
↑はカテゴリーページに付けたコードなので、検索ページとかはコードが変わる。
検索ページとかでカテゴリの絞り込みをした上でパラメータを渡せば、疑似的なカテゴリを作れる。
「PLA」の検索結果
↑のページとかはそーゆーページ。
他にも並び替え条件の組み合わせとかを作っておけば色々出来る。
○○円~○○○円まで
みたいな絞り込みも可能。
作ったサイトではプライム対象に限定した為、そんなに商品数が増え無かった為やってないけど...。
大変便利ですな。
久々にコード触ると色々思い出すのに時間がかかります。
なのでメモっとくと良い。
PCの中にも入ってるけど、文字の羅列から探すより、自分のブログから検索したほうが早いので便利。
ではでは
おすすめのコンテンツ
広告