Codeinwp / wp-maintenance-mode

Adds a splash page to your site that lets visitors know your site is down for maintenance. Full access to the back- & front-end is optional.
https://wordpress.org/plugins/wp-maintenance-mode/
160 stars 81 forks source link

Themeing a wp-maintenance mode template from within my child theme #332

Closed solaceten closed 1 year ago

solaceten commented 2 years ago

Hi team

Previously, I have written some code to allow me to use my own maintenance mode landing theme page, but have it inside my theme directory. In the child theme directory I had:

wp-content

But with a recent update, these are now broken. Although they still load, the website shows underneath them on the website landing page.

So - if we want to customise a theme, and use it from inside our child theme, what is the best way to do that now ?

Is this still the recommended method:

https://wordpress.org/support/topic/feature-request-allow-overriding-templates/#post-12025524

Thank you

solaceten commented 2 years ago

Hi again

OK well scrub the above !! I found the answer inside maintenance.php file: Looks like my previous method has been deprecated.....

solaceten commented 1 year ago

Hello again @selul - re-opening this because it seems a new template things has killed of themeing ?

Or if not, how do I re-enable theming in my child theme to over-ride your lovely new (but unwanted by me) template concept.

Thank you

selul commented 1 year ago

@solaceten my understanding when you closed this was that this is no longer an issue and it works fine.

We have a PR ready here #333 feel free to download the zip here and let us know if it works. https://github.com/Codeinwp/wp-maintenance-mode/pull/333#issuecomment-1266932296

solaceten commented 1 year ago

Hey @selul thanks for the fast reply. How do i choose the generic template in the wp admin section - or do I not need to bother? Seems to me all the templates are over-riding my theme template.

pirate-bot commented 1 year ago

:tada: This issue has been resolved in version 2.6.2 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket:

solaceten commented 1 year ago

Hello team @bueltge @selul

Thanks for your help with this. I am using 2.6.2 as suggested, however the issue is not solved.

Can you please help me to know how to use my own template? The process seems to have changed and now I seem to be forced to:

1) Choose a maintenance template from within wp admin 2) Install Otter blocks things 3) Use your template.

But I already have a template that I use inside my theme folder like this

During installation, yes, I can skip the onboarding.... If I skip the onboarding and choose "I don't want to use a template" - then I get the constant nag at the top of the screen

"Action required: you don't have a page as Maintenance page. Visit [settings page] to select one. "

And if I enable one in order to stop the nag, then my child theme template won't load.

SUGGESTION

Remove the nag for anyone who has clicked on the 'I don't want to use a template button during onboarding'.

For now I have temporarily hidden it with some admin css

div#message[data-key="maintenance_page_not_found"] { display: none !important; }

arinaturcu commented 1 year ago

Hi, @solaceten!

What I understand is that your child theme template loads fine, but the problem is that the notice Action required: you don't have a page as Maintenance page. is still showing up, is this right?

And if I enable one in order to stop the nag, then my child theme template won't load.

Your custom template should load even if there is a selected page (it will override the page) and it works on my side. Can you provide some more details in order to reproduce the issue?

solaceten commented 1 year ago

What I understand is that your child theme template loads fine, but the problem is that the notice Action required: you don't have a page as Maintenance page. is still showing up, is this right?

Yes, that's correct

Your custom template should load even if there is a selected page (it will override the page) and it works on my side. Can you provide some more details in order to reproduce the issue?

I can't provide much help other than when I install the Lightstart plugin, and choose skip the onboarding procerss - then upload my child theme maintenance page, it works fine.

If I choose to follow the nag (which I am not able to dismiss) I select a maintenance page, then it a) installs Otter b) disables my maintenance page from in the child theme.

If I then uninstall Otter and revert the "choose a maintenance page" back to "select" then it still does not load my child theme custom maintenance page. There does not seem to be a way to revert the selection and I have to completely uninstall the plugin and then re-install it, in order to have my child theme maintenance page work again.

I think the simplest answer is to make the nag dismissible.

arinaturcu commented 1 year ago

@solaceten Thank you!

Here is a PR that solves the issue: https://github.com/Codeinwp/wp-maintenance-mode/pull/365 Feel free to download the build and check if everything is fine.

pirate-bot commented 1 year ago

:tada: This issue has been resolved in version 2.6.6 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket:

solaceten commented 1 week ago

[ ignore this - issue solved! ]