Archived topic
Sidebar PHP issue
11 replies · Started by Den on January 3, 2022
Hello Team,
I previously raised a request where I wanted to remove the Sidebars on mobile devices ( But with PHP (not by CSS) ) because I wanted to speed up my mobile version.
Leo and Ying gave me 2 different suggestions. This one (Link To The Sugession) worked for me.
But, after a while, I figure out that this isn't working fine. On some pages, it worked like a charm. But on few other pages, it just starts completely removing the sidebar from the Desktop screens as well.
I don't want it to re-shape my website on the desktop version as google itself suggest that one should not make big visual changes as it will negatively impact SEO for the computer version.
I also followed Ying's version METHOD LINK but it didn't worked.
---------------------------
I have given a video link in the Private Information section. In the provided video, you can clearly see what i am trying to say.
+
As of now, I have removed the PHP code. You'll probably going to see the normal version on both devices.
Hi Den,
But, after a while, I figure out that this isn’t working fine. On some pages, it worked like a charm. But on few other pages, it just starts completely removing the sidebar from the Desktop screens as well.
Can you copy clone site w/ the suggested fix to a staging site and let us check the pages where the issue occurs?
Also, can you tell us how you've checked these pages? Note: If you've checked this through a desktop browser inspecting on a mobile sized view, the code won't work because the code will only work on actual mobile devices, not browser emulated viewport sizes.
Hi Elvin,
I have pasted that PHP code on my live website's function.php (again) and cleared the Cache. You will most likely to see it now.
I checked all the pages in incognito mode + kproxy as well. But found that there must be the PHP that is causing the issue. I checked on both devices. ON MOBILE DEVICES, IT WORKED PERFECTLY but on the desktop screen, I saw that the PHP code is removing the sidebars on wider screens as well.
Note: (removing the sidebars on wider screens) But not from all posts, that is where it gets a little confusing. I checked random pages and on some pages, it wasn't causing any issue but some of the pages get affected by the PHP code.
-------------
New Screen Record Video Link Is In Private Information Section.
Can you link us to the page where we can see the issue?
I have pasted a link in the Private Information Section.
That's very weird.
Any chance you can create a staging site, and provide admin access so we can take a look at the backend?
Actually, it will be very hectic for me to create a new one and move everything there as I am planning to shift my house. Ying, you gave a 2nd method [HERE] and i tried it but it didn't work.
Is there any other method or trick that I can follow? Have you discussed this with David? He sometimes gives the best solution possible. Maybe he'll tweak something in this.. cuz I don't have any knwlg related to PHP. [Here] is the David's method
The PHP snippet David provided should work for all posts, I just want to check if there's anything special on that specific post.
it will be very hectic for me to create a new one and move everything there as I am planning to shift my house
Creating a staging site only requires some clicks, you can try a plugin called WP STAGING.
And the method I provided should work too, I tested it before I posted it.
Ying, Any chance you can provide me a video tutorial where i can follow your method step by step.
1. Create a layout element at appearance > elements: https://www.screencast.com/t/bTgQ4Mx5
2. Set posts > all posts as location in Display rule:
https://www.screencast.com/t/wQX2f6oKSF
3. Get the element ID from the element editor URL:
https://www.screencast.com/t/SxGOn1grz
4. Add this PHP snippet, change the ID to match yours:
add_filter( 'generate_element_display', function( $display, $element_id ) {
if ( !wp_is_mobile() && 2134 === $element_id) {
$display = false;
}
return $display;
}, 10, 2 );
But this method is basically the same thing as David's snippet.
When you are testing this method, remember to deactivate David's snippet.
I will try this. Hopefully, this works 🤞
If not... still you guys are doing a great job.
Thank you
I would suggest check if there's any specific settings for that post :)