会員サイトを作っているのですが、「おすすめユーザー」として「同じマイタグを1つ以上持つユーザー」を表示したいと考えています。
本人のマイタグは次のようにして取得できます。後述のコードの【STEP1】の部分です。
$mytags = xprofile_get_field_data( 'mytag', 1 );
(これをver_dump($mytags)
するとstring(35) "餅,年賀状,初詣"
のように、ID1さんのマイタグが取得できる。)
なので全体の流れは次のようになるかと考えているのですが、【STEP2】の部分がわかりません。
php
1function get_recommended_user_mytag( $userID ){ 2 3 /* 【STEP1】本人($userID)のマイタグを取得 */ 4 $mytags = xprofile_get_field_data( 'mytag', $userID ); 5 6 /* 【STEP2】それをマイタグに持つユーザーIDを取得 */ 7 $recommended_users = // わからない 8 9 /* 【STEP3】そのユーザーIDをランダムで5件取得して戻す */ 10 $result = array_rand( $recommended_users, 5 ); 11 return get_avatar($result); 12} 13 14/* 本人(ID1さん)にお勧めしたいユーザーを表示 */ 15echo get_recommended_user_mytag( 1 ); 16
get_user_by
やget_users
など一通り関数を探したのですが、「$mytags
を持つユーザーID」を取得できそうな関数が見つかりません。
よろしければお詳しい方にご教示頂けますと幸いでございます。
以下、環境の補足です。
★PHP 7.0.23
★WordPress 5.2.0
★使用プラグイン
・BuddyPress 4.1.0(会員サイトを作るプラグインで、xprofile_get_field_data
はこの関数です。)
回答1件
あなたの回答
tips
プレビュー