Autologin a WordPress user in your PHP script
by Lars Koudal on 29/06/2009
I was having some problems using the WordPress function wp_insert_post in a cron job I was working on, and I remembered having read somewhere that the wp_insert_post -function reacted differently depending on whether or not a user was logged in or not, so I found the code that automatically logged in a user, which I then added to the top of my PHP-script, and voila, the problem was solved:
require('wp-blog-header.php');
$user_login = 'admin';
$user = get_userdatabylogin($user_login);
$user_id = $user->ID;
wp_set_current_user($user_id, $user_login);
wp_set_auth_cookie($user_id);
do_action('wp_login', $user_login);
Now, remember to set the proper path for the wp-blog-header.php file. (I know, there are other ways of loading the WordPress functions).
Secondly, remember to set the correct username. In this example I have used the default ‘admin’.
Notice how you do not need to enter the password for the user? This is powerful stuff, but be careful where you use it.

Tagged as: php, php admin, Php Blog, Php File, Php Login, php script, WordPress, Wp
Popular Searches
wordpress autologin, wordpress auto login, wordpress login user, wordpress auto login after registration, wordpress login after registering, auto login wordpress, autologin to wordpress, wordpress auto login after register, auto login in wordpress, wordpress login script, autologin wordpress, wordpress automatically login user, wordpress autologin plugin, auto login php, wordpress auto login function , auto login wordpress.com, integrate php script to wordpress, WordPress Auto-Login, user authentication wordpress, wordpress automatic login, wordpress login after registration, auto login after registration in wordpress, use Wordpress login with other, wordpress automatically login, wordpress login from external script,

Lars Koudal blogs about WordPress development, WordPress news, WordPress Plugins and SEO news in general.
Lars also is also the owner and lead developer of Premium WordPress Plugins available at CleverPlugins.com
{ 10 comments… read them below or add one }
Fantastic
Needed this so users can be logged in after an ajax-based registration. Thanks for taking the time to post it
You are welcome, glad you like it and commented. Comments like this motivate me to continue distributing tips and tricks when I encounter them.
Best of luck with the code, glad it helped
This is great, just what I was looking for, Thanks a lot!
I will use it to integrate a blog using Wordpress to my site, I’ve already have a user login authentication, and don’t to use wordpress login
I’m populating my site users table to wp_user table
Do you think I would have a security issue if I use it for this purpose?
I don’t think there would be a security issue as such, obviously you need to secure your own login-system, but if you already do that, the data you send to WordPress should be fine.
You should also note that by maintaining a separate user-login system, you have two databases you need to keep synchronized, making sure to add, modify and delete users in both.
Although it is clearly your own business, I suggest to take a look at fully using WordPress as your userdatabase. I do that on linklaunder.com (which is not active at the moment, unfortunately), where I use a few plugins to ensure a double-opt-in system where users actively agree to the disclaimer, privacy policy, etc. This is through the use of the plugin “Register Plus”.
It is very easy to use a bit of php-code in your template files, to use WordPress to process user-level, and provide individual user data to logged in users.
Just my suggestion, let me know if you need some help, should you choose to go that direction.
Thank you for visiting, and leaving a comment!
I am integrating a wordpress blog to my website and have created other tables in my wordpress database with individual user data. Is it possible to provide this information when the user logs in with their wordpress username and password?
Hi Ruth
It sure is. I do not know how you store the data in the other tables, but I suspect you have their userid or login as reference in the other table?
Then it is “just” a matter of looking up the extra data referencing their $user_id, and display their information.
I suggest you use the built-in functionality in WordPress to let the users log in, and then have a piece of script similar to:
[php]
<?php
$user = wp_get_current_user();
$userid=$user->ID;
//user is logged in, $user->ID will be their ID, etc..
if ($userid<>'') {
$nicename=$user->user_nicename;
$registered=$user->user_registered;
echo "<h3>Welcome <strong>$nicename</strong></h3>";
echo "<p>Registered on: $registered</p>";
}
else
{
echo "<p>You are not logged in.</p>";
}
?>
[/php]
I have above code in a separate page-template in my theme.
In above code example you can add a lookup for their extra data if they are logged in.
I hope that it what you were looking for? If not, let me know, and I’ll see what I can do.
Thank you very much for posting this script, this is exactly what I was looking to do, and was able to incorporate it successfully into my code
Hello! this is the only thing close to what I need so thank you very much for using the time to write it!
I have an free script, me and some friends developed, and I wanna ask you, it it posible to build an external user system based on Wordpress use system?
Let’s say you have /root script and /root/u wordpress.
Can I loggin user in Wordpress and call user data in script? Like session, name, chack if it’s legged ?
Thank you very much for your time answer this!
I’m very sorry for my english, I hope you understant even with my mistakes.
Thank you for posting this script it has helped out alot. One question though…
I am using this dynamically, grabbing the users username from the headers which has been authenticated from a different source. I’m looking for a script that will automatically add the user as a subscriber if they are not already in the DB. Anyone have a script that will accomplish that?