Sharing authentication between a WordPress log and a co-resident webapp is handy, but can be a bit of a challenge.
Today I needed to find a way for my webapp to pick up my WordPress username in order to use that as a filter criterion in an SQL query.
A little searching and experimenting led me to the following snippet of code which I put in my WordPress header.php file, just below the Â tag.
1 2 3 4
<?php $user = wp_get_current_user(); setcookie("username", $use-->user_login); ?>
This drops a cookie called 'username' which I can retrieve in my PHP webapp
echo "Username cookie isÂ ".$_COOKIE["username"];
There is no doubt a more efficient way of doing this, like ensuring that it only happens once in the session or attaching it to the login code, which I will explore when time permits.Â For the moment this works and I can get on with my webapp!
A look at the wp-login.php suggests that the place to put this in the login script is in the wp_signon() function of user.php. This approach would be much preferable to putting it in the header – there's no sense in dropping the cookie every time a page is loaded. I'll report back when I've had a chance to test this out.