これはWordpressのWebサイトに関するものです。sqlクエリは、結合されたテーブルの多くのうち1つの値を取得します
2つのテーブルがあります。 1はwp_users
と呼ばれ、1はwp_usermeta
と呼ばれます。
2つのテーブルはwp_users.id = wp_usermeta.user_id
によってリンクされています。
Usermetaには、meta_key
とmeta_value
という名前の列があります。 1ユーザーに複数のmeta_key
がありますが、それぞれmeta_key
にはmeta_value
もあります。私が持っていると思い何
は私がmeta_key
= 'foobarの' wp_usermeta
からwp_users
とmeta_value
からID
、user_login
& user_email
を選択したいのですが、以下のよう
です。ただし、クエリを使用する場合は、検索した文字列がuser_login
、user_email
またはmeta_value
に含まれている場合に限り、検索を使用すると同じ検索が行われるようにする必要があります。
ここに私が現在持っているものがあります。私はテーブルに加わることを試みましたが、これを正確に行う方法はかなりわかりません。私はむしろ労働組合を使用します
public function get_users($get_from, $per_page, $search = null) {
global $wpdb;
$sql = "SELECT ID, user_login username, user_email FROM {$wpdb->prefix}users";
if(isset($search)) {
$sql .= " WHERE user_login LIKE '%" . esc_sql($wpdb->esc_like($search)) . "%'";
$sql .= " OR user_email LIKE '%" . esc_sql($wpdb->esc_like($search)) . "%'";
}
if(!empty($_REQUEST['orderby'])){
$sql .= " ORDER BY " . esc_sql($_REQUEST['orderby']);
$sql .= !empty($_REQUEST['order']) ? ' ' . esc_sql($_REQUEST['order']) : ' ASC';
}
$sql .= " LIMIT $get_from , $per_page";
echo $sql;
$result = $wpdb-> get_results($sql, 'ARRAY_A');
$this->total_users = $wpdb->num_rows;
return $result;
}
'' wp_postmeta'のように動作しますwp_usermeta'。そのテーブルを照会するために、SOまたは他の場所でアドバイスを探してみてください。 –