Genesis 3.1.0 came out August 21 2019. Themes from Feast Design Co. prior to 4.2.0 are not compatible with this change.
This update introduces a new method of editing the footer, by going to Customize > Theme Settings > Footer.
Unfortunately, it also came with a breaking change to all child themes (and custom child themes).
This makes the website look unmaintained and insecure. As a visitor, this is a signal to BOUNCE from the website. Search engines pick up on these negative signals over time and rank websites displaying errors lower in search results.
Even if your site is not displaying this issue, the error is being written to error logs, which can slow down your server, and fill it up with excessive files. Everybody needs to update their theme to fix this, whether there's an error showing or not.
This kind of breakage is exactly what we've built the Feast Plugin to fix. We were able to release a fix for it within 24 hours of the Genesis 3.1.0 release, keeping food blogs trouble-free and compliant with changes.
Solution: Feast Plugin
The Feast Plugin 2.4.0 has been released August 22 2019, which resolves the breaking footer issue. This does not require updating the theme, and is the easiest way to resolve this.
Please update the Feast Plugin first, then update to Genesis 3.1.0.
Solution: Update Themes
All themes version 4.2.0 were released September 2nd 2019 with compatibility for Genesis 3.1.1.
When you're ready to update, first update Genesis (3.1.0+), then update the child theme (4.2.0+).
Studiopress customers who purchased a theme at Studiopress can request access here.
How to change your footer text
Moving forward, you now edit your footer text in Customize > Theme Settings > Footer
If you don't see the "Footer" page, you likely have the Genesis Simple Edits plugin installed and need to disable + uninstall it.
Dan Mikesell says
Good rant on Genesis.
They need to come out of their coding cave and think customer service a bit.
Is nobody there paying attention?
But good job on the plugin. Keep adding value.
Hillary says
Due to the Aug. 30 update, should I wait til then before purchasing the plugin?
Skylar Bowker says
Hey Hillary!
You can purchase & install the plugin at any time - it will always be fully compatible with our themes.
Nick Cernis says
Thank you for this post raising awareness of the deprecated footer filter, Skylar. I was responsible for Genesis 3.1 and I'm happy to address some of the points you raised here.
As you noted, we added the ability to set footer text from the Customizer in Genesis 3.1 to prevent users having to install plugins and write custom code just to change their site’s footer text. This has long been a requested feature.
We deprecated the genesis_footer_creds_text filter as a result because it has no effect when people update to Genesis 3.1.
We gave early warning of this deprecation in the GenesisWP Slack group, in blog posts, and by email. We also updated documentation, including the docs you link to where the filter is mentioned.
It would be helpful to add a couple of points to your post here to better educate people about the issue and what they can do if they see the deprecation notice in their footer:
1. If using the Genesis Simple Edits plugin to set footer credits text, be sure to update to the latest version of Genesis Simple Edits after you upgrade to Genesis 3.1. This will remove the deprecation notice automatically.
2. Look for add_filter( ‘genesis_footer_creds_text’, ‘any_text_here’ ); in your child theme’s functions.php file and remove that line or comment it out by putting // before the add_filter.
You can then set your footer credits from Admin -> Appearance -> Customize -> Theme Settings -> Footer.
In response to your suggestions for improvement:
> Generate error messages for the administrator on the back end of the website, not the front end.
The downside to this is that people with visible logging active have no idea why the custom text they set no longer is replaced by default footer text after updating to Genesis 3.1, no leads on the front end of their site or in logs, and a message in the admin that people are prone to ignore or immediately dismiss. (We’ve found that site administrators generally ignore admin notices or dismiss them, because the current WordPress notification system can lead to notice blindness.)
> It’s fine to pester administrators about problems – but visitors to the website should never seen error messages like this.
We completely agree, and it's not good for a site to be displaying PHP notices. If your production site is displaying error messages, it's a sign that your server is misconfigured. Error messages on production sites should be logged to a file and never visible to all of your site's visitors.
You can ask your web host to correct this for you by disabling visual error logging. This improves both the appearance and the security of your site.
> Don’t deprecate features in this way. Adding a field in the customizer to override code-based settings is fine – it’s exactly what filters and priorities were designed for – but don’t just remove something that’s been in place for years.
Genesis has to evolve and improve. Deprecating old features when we can offer improved versions is a normal part of this process. We deprecated the footer filter the same way WordPress or PHP would do when removing support for functionality that displays on the front end. If you use a function in your theme or plugin and update to a version of WordPress or PHP where that function is deprecated, you would see the same kind of deprecation notices on your production site if it's configured to display public error messages.
Sites that are configured correctly will not display the footer filter deprecation notice. Genesis sites that do not use the footer credits filter are unaffected. Sites that display notices or save logs will give site owners a lead as to where they can now set their footer text. Blogs such as this one can help the Genesis community to learn about the ways site owners can remove the notice if they see a deprecation notice in their footer when they upgrade to Genesis 3.1, as outlined above.
If anyone needs help making the above changes, please feel free to contact StudioPress support. We are happy to help.
Skylar Bowker says
Hey Nick,
Thanks for jumping in. I totally get why the change was made - like I noted in the post, our customers have had mild issues with this as well. But you don't fix non-problems (for every active install) by causing more problems. The issue has already been resolved for the 500,000+ websites running Genesis. Eliminate this problem for new customers moving forward.
Rather than publicly breaking a site on the front-end, why not display un-dismissible notice (not a transient) in the header of the back end to:
- Update the theme files to remove the old code
- Contact their host to turn off visual error logging
This achieves the same effect - notifying the admin/owner/developer in a persistent way - without the nasty side effect of harming a business/small-business-owner.
Or even checking whether is_user_logged_in() before throwing the error - so that only the logged in site administrator is notified? https://developer.wordpress.org/reference/functions/is_user_logged_in/
The problem still stands that if a customer does not have visual error logging enabled, they will never know there's a problem.
Nick Cernis says
Thanks for the reply and these additional thoughts, Skylar.
Creating a notice that cannot be dismissed would elevate what will be a minor issue for many (“the footer text filter no longer applies”) into a major one (“I have a permanent message in my dashboard that interferes with my current workflow and demands I act on it now”).
Checking if users are logged in before calling apply_filters_deprecated is not realistic for functions that did not previously execute conditionally only for admin users, because it changes how and when that code is run. One side effect of this is that it removes logged errors until an admin user logs in and views their site. This only serves to decrease awareness and reduce the chance of site owners encountering the notice via visitor reports, automated reports, or log files.
Genesis is using a WordPress core function to deprecate the filter (apply_filters_deprecated). WordPress itself uses this and other functions designed to log warnings if WP_DEBUG is on or a server is configured to display PHP errors to screen. You will find deprecation warnings for WordPress core functions in Google in the same way that you found them for the deprecated footer filter.
If you feel strongly that any form of logged notices on a site is a fault of the application layer (WordPress, theme, or plugin) — or that WordPress itself should suppress visual output of deprecation notices or only emit deprecation notices to admin users — I recommend opening a Trac ticket against WordPress core, because this issue extends to the entire WordPress ecosystem and is not unique to Genesis. The likely response you would see is that sites that do not want to show errors on the front end should disable visual logging of errors, because the functionality for this is already available via PHP and WordPress config files.
In terms of making users aware of the deprecated filter when they don’t have visual debugging enabled, we’re continuing to raise awareness of this publicly. Posts such as this one also help to raise awareness, so thank you for playing your part in starting this conversation and helping people to see how to resolve the issue. (Update Genesis Simple Edits to the latest version if using, remove the genesis_footer_creds_text filter from your theme code if present, ask your host to disable public logging, and set your site’s footer text in Genesis 3.1 in the new footer field at Admin -> Appearance -> Customize -> Theme Settings -> Footer.)
Renee Fuentes says
I was able to update the footer area, but the warning message still appears. I do not have the Feast plugin and not in a place to purchase it. How can I get the warning message off the footer?
Skylar Bowker says
You would need to update your theme to the latest version.
Ryan Steadley says
I'd just like to say thanks to Nick Cernis for the explanation of how to remove the error. I know just enough to get by on WordPress and basically nothing about coding, but was able to get into my site's theme editor and follow the instructions to //-out the offending line. Much appreciated!
Michelle Berg says
I can't find the code to change this in the child theme functions.php - and the Genesis Simple edits hasn't removed it. Can someone help?
Skylar says
We don't recommend or support modifying functions.php - please submit a support ticket for help with what you're trying to do.
The entire footer editing experience has been replaced by the "Modern Footer" in the Feast Plugin: https://feastdesignco.com/modern-footer/