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

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

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

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

Q&A

解決済

1回答

1275閲覧

カスタムフィールドの値でユーザー一覧を50音順に並び替えたい

natsumi201

総合スコア5

WordPress

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

0グッド

0クリップ

投稿2022/12/22 08:33

編集2022/12/22 08:39

いつもお世話になっております。

ユーザー情報を固定ページ(テンプレートファイル)の表示について質問です。

サイトで、ユーザーを地域別に振り分けたリストを作成しました。
ユーザーにWPのアカウントを与え、プロフィール編集ページで入力した値を上記ページに反映しています。
Advanced Custom Fieldで、プロフィール編集ページに、地域のSelectフィールドを追加し、会員に選択してもらい、地域別に振り分けを行っています。

※Selectフィールドの選択肢は例として以下の通り、値とラベルで設定
data1 : 〇〇市
data2 : □□市
data3 : △△市
data4 : ■■市

$areas = array( 'data1' => '〇〇市', 'data2' => '□□市', 'data3' => '△△市', 'data4' => '■■市' ); ?> <ul> <?php foreach ( $areas as $key => $value ): // エリア別にユーザーを取得する $users = get_users( array('role' => 'Author','meta_key' => 'address', 'meta_value' => $key)); if ( empty( $users ) ) continue; ?> <li><a href="#<?php echo $key; ?>"><span><?php echo $value; ?>を見る</span></a></li> <?php endforeach; ?> </ul> <?php foreach ( $areas as $key => $value ): // エリア別にユーザーを取得する $users = get_users( array( 'orderby' => 'ASC', 'meta_key' => 'address', 'role' => 'Author', 'meta_value' => $key ) ); if ( empty( $users ) ) continue; ?> <div class="contbloc"> <h3 class="cont_title"><?php echo $value; ?></h3> <table class="tabledata"> <tr><th>会社名</th><th>代表者</th></tr> <?php if ( $users ) { ?> <?php foreach ( $users as $user ) { $uid = $user->ID; ?> <tr> <td class="data_name1"><?php if($user->last_name != '') {echo $user->last_name ;}else { echo '会社名が入力ありません';} ?></td> <td><?php the_field('user_name', $user); ?></td> </tr> <?php } ?> <?php } else { ?> <?php } ?> </table> </div><!--contbloc--> <?php endforeach; ?>

地域別に振り分けを行い、さらに振り分けたユーザーの会社名を50音順で並び替えたいと思っています。
その為、新たに会社名のふりがなを入力するカスタムフィールドを追加しました。フィールド名【kana】。

https://ja.wordpress.org/support/topic/カスタムフィールドの値で一覧を並び替えたい/
こちらの記事を参考にしてみましたが、表示させることが出来ずにいます。

よろしければ解決法、ヒントなどご教授いただけないでしょうか。
よろしくお願いいたします。

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

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

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

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

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

CHERRY

2022/12/22 10:22 編集

カスタムフィールドの並び替えは、具体的にどのようなコードを記載されたのでしょうか。
guest

回答1

0

自己解決

// エリア別にユーザーを取得する $users = get_users( array( 'meta_key' => 'kana', 'orderby' => 'meta_value', 'order' => 'ASC', 'role' => 'author', 'meta_query' => array( array( 'key' => 'address', 'value' => $key, 'compare' => '=', ) ), ) ); if ( empty( $users ) ) continue; ?>

解決いたしました。

投稿2022/12/22 23:50

natsumi201

総合スコア5

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問