質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

ソート

複数のデータを、順序性に従って並べ替えること。 データ処理を行う際に頻繁に用いられ、多くのアルゴリズムが存在します。速度、容量、複雑さなどに違いがあり、高速性に特化したものにクイックソートがあります。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

0回答

1840閲覧

Search & Filter Proで検索結果を価格の安い順に並べ替えしたい

hirohiro121212

総合スコア15

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

ソート

複数のデータを、順序性に従って並べ替えること。 データ処理を行う際に頻繁に用いられ、多くのアルゴリズムが存在します。速度、容量、複雑さなどに違いがあり、高速性に特化したものにクイックソートがあります。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

1グッド

0クリップ

投稿2019/08/01 13:39

編集2019/08/02 00:59

wordpressでSearch & Filter Proを使って、CPTUIで作った物件(bukken)にACFで作ったフィールドを適用して登録し、
そのフィールドをSearch & Filter Proで関連付けして、選択しなどでも複合絞り込み検索が出来るようにはなったのですが、

その検索結果は、登録が新しい順にしか表示されていないので、価格が安い順に並べ替えたいと思っています。

以下に、Search & Filter Proの絞込み検索結果一覧をショートコードで表示させるときに使う、results.phpを記載します。
一部、表示項目を追加するためにACFで作って登録した内容(画像main_photo、住所adress、間取りmadorinew、値段nedan)を表示させたり、
英語表記を日本語に変更しています。

if ( $query->have_posts() ) { ?> <?php echo $query->found_posts; ?>件見つかりました。<br /> 全<?php echo $query->max_num_pages; ?>ページ中/<?php echo $query->query['paged']; ?>ページ<br /> <?php while ($query->have_posts()) { $query->the_post(); ?> <div> <!-- メイン写真の表示 --> <figure> <div class="item_img"> <?php $attachment_id = get_field('main_photo'); $size = "itemphotoall-thumbnails"; // (thumbnail, medium, large, full or custom size) $image = wp_get_attachment_image_src( $attachment_id, $size ); $attachment = get_post( get_field('main_photo') ); $alt = get_post_meta($attachment->ID, '_wp_attachment_image_alt', true); $image_title = $attachment->post_title; ?> <a href="<?php the_permalink(); ?>"><img src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" alt="<?php echo $alt; ?>" /></a> </div><!-- shinchiku_img --> </figure> <!-- メイン写真の表示 --> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_field('adress',$post->ID); ?> <?php the_field('madorinew',$post->ID); ?> <?php the_field('nedan',$post->ID); ?> <p><br /><?php the_excerpt(); ?></p> <?php if ( has_post_thumbnail() ) { echo '<p>'; the_post_thumbnail("small"); echo '</p>'; } ?> <p><?php the_category(); ?></p> <p><?php the_tags(); ?></p> <p><small><?php the_date(); ?></small></p> </div> <hr /> <?php } ?> Page <?php echo $query->query['paged']; ?> of <?php echo $query->max_num_pages; ?><br /> <div class="pagination"> <div class="nav-previous"><?php next_posts_link( 'Older posts', $query->max_num_pages ); ?></div> <div class="nav-next"><?php previous_posts_link( 'Newer posts' ); ?></div> <?php /* example code for using the wp_pagenavi plugin */ if (function_exists('wp_pagenavi')) { echo "<br />"; wp_pagenavi( array( 'query' => $query ) ); } ?> </div> <?php } else { echo "その条件での物件はありません。"; } ?>

これで、検索結果に自分の表示させたいものはいくらでも追加できるのですが、
値段の安い順にソート(並び替え)したいと思っております。

しかしながら、なんちゃってPHPなので、
ACFで作ったフィールド(nedan)に登録している、数字の大きい小さい順で並べ替える方法がわかりません。

ちなみに、ACFに登録しているときのフィールドタイプは数値にしてあります。
イメージ説明

どなたか、ACFで作ったフィールドに登録した値でソートする記述を、どう書けば良いのか?
また、results.phpのどこに書けば良いのかお教えいただけましたらと思っておりますです。m(_ _)m

※ちなみに、archive-bukken.phpで表示する物件一覧は、以下のように指定することで数値が小さい順に並べ替えることはできました。

<?php $args = array( 'post_type' => 'bukken', 'paged' => $paged, 'posts_per_page' => 50, 'orderby' =>' meta_value_num', //メタ(カスタムフィールドの値)でソートすることを宣言 'meta_key' => 'nedan', //どのキーの値を基準にするか 'order' => 'ASC', //昇順か降順かを指定。ASCは小さい順。DESCは大きい順 ); ?>

search&filter proのショートコードでの検索結果一覧を昇順、降順に並び替える方法ですが、、
降順にすることはできましたが、昇順(数字の小さいほうから並び替え)にする方法がまだわかりません。
ちなみに、ショートコードでの表示の場合で、降順(数字の大きい順に並び替え)は、search&filter proの中の設定でした

イメージ説明

Secondary Sort orderのところをAscendingにすれば良いだけでした!!
AscendingがASCのことだと気付きませんでした。。

・Ascending ⇒ ASC
・Decending ⇒ DESC

のことだったんですね!!

イメージ説明

onobeka👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問