WordPressのカスタムポストタイプと高度なカスタムフィールドを使ってログインシステムを作ることはできますか?カスタム投稿タイプとカスタムフィールド(ACF)を使用してログインできますか?
私はこのような構造を持っている「ユーザー」というカスタムポストタイプ作成しました:
- 記事のタイトル
- ユーザーの電子メール(ACFを使用してtext型のフィールド)
- ユーザーのパスワードを(ACFを使用したタイプパスワードのフィールド)
これらの助けを借りて私は実際に自分自身を私が望むように登録します。
私の問題は、フロントログインフォームからユーザーにログインすることができないと考えているため、保存されているデータベースの構造に問題があります。
いくつかのクエリを試しましたが、何かが正しくないように見えます。誰かがこれで私を助けることができますか?私は正しい道にいるかどうか?
$login_email = $_POST['login_email'];
$login_password = $_POST['login_password'];
$email_sql = $wpdb->get_var($wpdb->prepare("SELECT meta_value FROM ".$wpdb->postmeta." WHERE meta_key = %s AND meta_value = %s",'user_email', $login_email));
$pass_sql = $wpdb->get_results($wpdb->prepare("SELECT meta_value FROM ".$wpdb->postmeta." WHERE meta_key = %s AND meta_value = %s",'user_password', $login_password));
事は、ユーザーの電子メールとユーザーパスワードの両方がmeta_keyであり、彼らが同じレコードではないということであると私はそれに基づいて、ログインを行うことができないと思います。私は正しいですか、方法がありますか?
[編集
など、あなたのコードを保護するために、正しくパスワードのハッシュを処理する必要があります。なぜ、組み込みのユーザー機能を使用してバイパスしたいのですか?あなたのフロントエンドユーザーは、Wordpressのバックエンドへのアクセスから除外されるカスタムロールを与えることができますか? – Gavin私はワードプレスを使ってモバイルアプリを作っているのでアプリはWordPressの外にある。私は管理目的でのみCMSを使用しています。ユーザーはWordPress管理者にアクセスできません。私は、カスタム情報で管理者から追加するだけです。 – Ionut
WP-APIを簡単にインストールできます。WP-APIは、組み込み機能を使用してRESTサービスを介してログインする機能を公開します。代わりに、ユーザ名とパスワードを渡す 'meta_query'検索を使うこともできます。下の私の答えを見てください。 – Gavin