How To Clear WordPress Sidebar Cache For Sidebar Login

I recently encountered an issue where users were logging in using a sidebar login form, but when they got redirected back to the page they logged in from, the login box was still present. When you visit another page on the site, the login box was gone and the user was showing up as being logged in, yet the origin page where the login was performed was not showing this login box, even with ctrl+f5.

I looked into this further and the session variables were being set and the login was definitely working correctly. The problem is definitely a cache issue, but I couldn’t find out what is causing it. I didn’t have any cache plugin installed and I double checked my .htaccess to make sure Apache wasn’t caching anything. Fortunately I was able to come up with a quick and easy solution to bypass this issue.

WordPress itself seems to be caching pages based on the URL. The sidebar in particular is something that gets cached. Clearing the cache every time someone logs in, doesn’t seem like a good idea to me so I came up with an alternative that works just as well.

When a user clicks the login button it will send a POST to another php script. This script will then check the login and redirect back to the origin page. Rather than use this.

header ("Location: {$redirectUrl}");

I appended a random variable onto the end of the URL. This causes wordpress to ignore the cache

header ("Location: {$redirectUrl}?login=true");

When the login form redirects back to this URL the user account box was displaying and the cache issue was resolved. This might not be the official solution to the problem, but it’s a quick and easy solution that worked well for me.

Related Articles

Related Questions

C# How to pass ulong argument to unit test via TestCase decorator

I have a unit test where I want to pass some arguments into the test method via the TestCase decorator. The argument I need...

Can google home turn on my smart tv?

If I purchase a Google hub and set up everything I need to use Google Home to turn my house into a smart house....

Can amazon smart plug work with google home?

I am looking to purchase some smart plugs and I see that there is an amazon branded smart plug. It is advertised to work...

2 COMMENTS

  1. Hello,

    I am searching for a solution about the cache-problem at sidebar login. You wrote that article “How To Clear WordPress Sidebar Cache For Sidebar Login” and post there a solution – but where I have to made the changes? Which file has to be changed with the code “header (“Location: {$redirectUrl}?login=true”);”?

    I am a noob at programming – so I can´t see the solution…

    Thanks in advance!

    Daniel

    • Whatever file controls the redirect after the login. The important thing is to make sure the url is unique so you could also use phps time() method to make sure the url is not hitting the cached record

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Latest Tools

Bitrate Converter

Below you will find a bitrate converter. This tool will allow you to enter a bitrate value, in one of many different formats and...

Aesthetic Text Generator

There are various ways to make your social media profile seem more unique, some of which are not as easy to implement as others....

Aspect Ratio Calculator For Images

Aspect ratio is the ratio between the height and width of an image. If you want to resize an image by 100 pixels, you...

Add Text To Image

Use this free tool to add text to an image. Simply select the image file that you want to overlay text onto and you...

JavaScript Multi-line String Builder

Javascript did not always support multi-line strings. If you attempted to create a string variable using quotes, putting a line break into the source...

GUID Generator

GUID generation is relatively simple. It is a system that is used to generate unique values without having to keep track of the IDs...

Latest Posts

Latest Questions