Theme My Login登録ユーザを絞り込み検索
-
こんばんは。お世話になります。
Theme My Loginを使って会員登録されたユーザー情報を、絞り込み検索して表示しようとしてます。
たとえば、検索フォームに[東京都]の[千代田区]とした場合、ヒットしたユーザーが何件か表示されるところまではできたのですが、[東京都]のユーザーをすべて表示するために、都道府県用の入力欄に[東京都]を入力、市区町村用の入力欄は未記入のままボタンを押すと1件もヒットしないのです。
これは、[東京都]の[“空白”]と言う条件になるからでしょうか?都道府県だけや市区町村だけでも検索できるし絞り込み検索もできるようにするにはどのようにすればいいのでしょうか。
検索結果の表示ページは下記のように書いています。
relationをORにすると絞り込みが効かなくなりますし。。よろしくお願いいたします。
$args = array(
‘meta_query’ => array(
array(
‘key’ => ‘user_prefecture’,
‘value’ => $_POST[‘aa’],//都道府県
‘compare’ => ‘=’
),
array(
‘key’ => ‘user_address’,
‘value’ => $_POST[‘bb’],//市区町村
‘compare’ => ‘LIKE’
),
‘relation’ => ‘AND’
)
);$users = new WP_User_Query( $args );
foreach ( $users->results as $user ) {
.
.
-
if ( ! empty($_POST['aa']) ) { $args['meta_query'][] = array( 'key' => 'user_prefecture', 'value' => $_POST['aa'],//都道府県 'compare' => '=' ); } if ( ! empty($_POST['bb']) ) { $args['meta_query'][] = array( 'key' => 'user_prefecture', 'value' => $_POST['bb'],//市区町村 'compare' => 'LIKE' ); } if ( ! empty($args['meta_query']) && count($args['meta_query']) > 1 ) { $args['relation'] = 'AND'; }
こんな感じでどうでしょうか。
yah!!様
早々にご返信ありがとうございます。
さっそく置き換えてみたのですが、絞り込み検索も表示されなくなりました。。そのまま置き換えたのでよかったですね?
yah!!様
一つ気が付きまして、ご返信いただきました中の市区町村用のkeyが、都道府県と同じ’user_prefecture’となっておりましたので、’user_address’に修正しましたところ、絞り込み検索と市区町村だけでの検索は可能になりました!
ただ、都道府県だけでの検索では何もヒットしません。
- トピック「Theme My Login登録ユーザを絞り込み検索」には新たに返信することはできません。