私は他のプラットフォームのAPIを介してワードプレスでユーザーにログインしようとしているので、私がしているのはユーザーの資格情報(username、password)を送信してユーザー情報を返す外部APIを呼び出すためのajax関数を使うことです。 、名前...)。
私が必要としているのは私のワードプレスのウェブサイトで言及されたユーザーをログインすることです、しかし彼らをワードプレスのデータベースに保存せずに登録するので、私はページ/投稿の可視性を管理するために 'ユーザーロールプラグイン'を使うことができません。
ですから、私の目標は次のとおりです。ワードプレスサイトにログインしているときに、データベースに保存せずに、この外部ユーザーに対してページ/投稿、さらにはメニューさえも見えるようにする。
変数セッションや自分自身のcheck_user_login()関数を使っているのではないかと思いますが、どうすればこれを達成できるのかわかりません(ログインしているユーザーにのみ見えるように特定のページを検証する場所は?) PHPでの経験、それは私がワードプレスを使用して初めてです。
アイデアを求めているだけなので、今のところコードを投稿していないからです。
ご協力ありがとうございます。
@ Miloのコメントは正しいと思います。おそらくあなたはcurrent_user_can()などのような関数を使いたいと思うでしょう。あるいは、これが別のメニューを表示するだけなら、あなたのワードプレスサイトでクッキーを設定することができます(APIからの呼び出しを通して)リモートで認証されると、リモートユーザーに別のメニューを表示します。
add_filter('wp_nav_menu_args', 'wpse_wp_nav_menu_args_filter');
function wpse_wp_nav_menu_args_filter($args = array()) {
if ($_COOKIE["remoteuser"] == "loggedin") { // User is remotely authenticated
// Setup Primary Menu
if ( $args['theme_location'] == 'primary' ) {
$args['menu'] = "remote_user_menu";
}
return $args;
} else {
return $args;
}
}
その後、同じ行に沿って何かを使用して、ページを表示するかどうかを決定できます。