Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wordpress - wlasne "logowanie"
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Musze pod wordpress podpiac wlasne "logowanie". NIe chodzi mi o wlasna strone logowania, tylko by system pobieral mi sam z innego api dane uzytkownika. Powiedzmy ze token bede mial juz w WP, na pdostawie tokena musze tylko pobrac info usera i by WP traktowal go jako zalogowanego i np. wyswietlal to durne "Howdy XYZ"

To jest kod jaki mam dotychcas

  1. function custom_fake_login() {
  2. if (is_user_logged_in()) {
  3. return; // Already logged in
  4. }
  5.  
  6. // Fake user ID (must be unique and not conflict with real WP users)
  7. $fake_user_id = 99999;
  8.  
  9. // Create a fake user object
  10. $user = new WP_User();
  11. $user->ID = $fake_user_id;
  12. $user->user_login = 'custom_user';
  13. $user->user_email = 'fake@example.com';
  14. $user->roles = ['administrator']; // Adjust role if needed
  15.  
  16. // Set the user as logged in
  17. wp_set_current_user($fake_user_id, 'custom_user');
  18. wp_set_auth_cookie($fake_user_id);
  19.  
  20. // Trigger WordPress login hooks
  21. do_action('wp_login', 'custom_user', $user);
  22. }
  23.  
  24. // Run this when the site loads
  25. add_action('init', 'custom_fake_login');
  26.  
  27. add_filter('wp_get_current_user', function ($user) {
  28. if ($user->exists()) {
  29. print_r($user);
  30.  
  31. return $user; // If WP already recognizes a user, return it
  32. }
  33.  
  34. // Check the current user ID
  35. $user_id = get_current_user_id();
  36. if ($user_id !== 99999) {
  37. return $user;
  38. }
  39.  
  40. // Create a fake user dynamically
  41. $fake_user = new WP_User();
  42. $fake_user->ID = 99999;
  43. $fake_user->user_login = 'custom_user';
  44. $fake_user->display_name = 'Custom User';
  45. $fake_user->roles = ['administrator'];
  46. print_r($fake_user);
  47.  
  48. return $fake_user;
  49. });

Niestety to
add_filter('wp_get_current_user', function ($user) {
jakby w ogole sie nie odpalalo, w sensie ten filtr i oczywiscie zadne "Howdy" sie nie pojawia


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
3 Użytkowników czyta ten temat (3 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 13:49