2016-10-31 7 views
1

私は主に注文をする人々からの電話を受けるワードプレスサイトを持っています。私の問題は、私がWoocommerceに "Add Order"を呼び出すときに、彼の名前をタイプしなければそのクライアントが既に存在するかどうかわかりません。私は "マイク"、次回は "マイケル"などのように自分の名前を言う人がいるので、私は彼のリストに2回持っています。他の名前でも起こります。私は「注文時に顧客を作成する」プラグインも使用します。クライアントが存在しない場合は、その時点で彼を作成します。ワードプレス - 電話番号で「注文を追加」検索クライアント

私の質問は:「注文を追加」をクリックした後、「顧客」フィールドにコードを追加する方法はありますか?彼の名前ではなく彼の電話番号で人を検索できますか?

答えて

1

デフォルトでは、ユーザー名/ニックネームでユーザーを検索することができます。もちろん、それを構築して、名、姓、電子メールアドレス、およびユーザーメタテーブルに既に存在するカスタムユーザーメタフィールドで検索することができます。

彼らはこのプラグインを建てどのように見てみましょう: Woocommerce - Better User Search

彼らはユーザーを一致させるために使用するメインクエリは次のようになります。

  $user_ids = $wpdb->get_col($sql = $wpdb->prepare(" 
       SELECT user_id 
       FROM (" . implode('UNION ALL', array_fill(0, count($terms), " 
        SELECT DISTINCT u.ID AS user_id 
        FROM {$wpdb->users} u 
        INNER JOIN {$wpdb->usermeta} um 
        ON um.user_id = u.ID 
        INNER JOIN {$mktable} mk 
        ON mk.meta_key = um.meta_key 
        WHERE LOWER(um.meta_value) LIKE %s 
        OR LOWER(u.user_login) LIKE %s 
        OR LOWER(u.user_nicename) LIKE %s 
        OR LOWER(u.user_email) LIKE %s 
        OR LOWER(u.user_url) LIKE %s 
        OR LOWER(u.display_name) LIKE %s 
       ")) . ") AS user_search_union 
       GROUP BY user_id 
       HAVING COUNT(*) >= %d; 
      ", $values)); 

は、そのソースコードを見てみましょう、それがうまくですコメントし、あなたのニーズに合わせて調整してください(電話を使いたいだけなら)、それは本当に簡単です。より良いuser-search.phpから関連するコンテンツを取り出し、あなたのテーマのfunctions.phpにインポートするか、自分の作品からインスピレーションを得て独自のプラグインを作成してください。

+0

ありがとうBobeta。私はそれを見てみましょう – user2607179

関連する問題