Please see below the email received from WordPress regarding the issue:
Howzit!
Since WordPress 5.2 there is a built-in feature that detects when a plugin or theme causes a fatal error on your site, and notifies you with this automated email.
In this case, WordPress caught an error with one of your plugins, My Calendar.
First, visit your website (https://thehighschool.co.za/) and check for any visible issues. Next, visit the page where the error was caught (https://thehighschool.co.za/wp-admin/admin.php?page=my-calendar-config) and check for any visible issues.
Please contact your host for assistance with investigating this issue further.
If your site appears broken and you can't access your dashboard normally, WordPress now has a special "recovery mode". This lets you safely login to your dashboard and investigate further.
https://thehighschool.co.za/wp-login.php?action=enter_recovery_mode&rm_token=V1OS1gaXo1PUhN8GbrC1sz&rm_key=BbzJpoOXJZ4h9gp0n4coFN
To keep your site safe, this link will expire in 1 day. Don't worry about that, though: a new link will be emailed to you if the error occurs again after it expires.
When seeking help with this issue, you may be asked for some of the following information:
WordPress version 6.1.1
Active theme: Twenty Twenty (version 2.0)
Current plugin: My Calendar (version 3.3.24.1)
PHP version 8.0.25
Error Details
=============
An error of type E_ERROR was caused in line 60 of the file /home/wwwtheh/public_html/wp-content/plugins/my-calendar/my-calendar-settings.php. Error message: Uncaught ValueError: Unknown format specifier "D" in /home/wwwtheh/public_html/wp-content/plugins/my-calendar/my-calendar-settings.php:60
Stack trace:
#0 /home/wwwtheh/public_html/wp-content/plugins/my-calendar/my-calendar-settings.php(60): sprintf('%Dec', '%M')
#1 /home/wwwtheh/public_html/wp-content/plugins/my-calendar/my-calendar-settings.php(823): mc_settings_field('mc_month_format', 'Month Format (c...', '', '%Dec')
#2 /home/wwwtheh/public_html/wp-includes/class-wp-hook.php(308): my_calendar_settings('')
#3 /home/wwwtheh/public_html/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters('', Array)
#4 /home/wwwtheh/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#5 /home/wwwtheh/public_html/wp-admin/admin.php(259): do_action('my-calendar_pag...')
#6 {main}
thrown
Ok, so I have picked up the main issue which is the route of the problem, as I understand.
For some reason entering the ‘%’ instead of ‘F’ for the display of the full month name (i.e. January instead of Jan) has resulted in the plugin corrupting in some way (I hope this is the correct terminology).
I cannot seem to enter images here so I’ll try to explain.
Under the Date/Time Formats section of ‘Settings’ there should be the following field options for data entry:
– Primary Date Format
– Time Format
– Month Format (calendar headings)
– Date in grid mode, week view
… however, I am now only able to see the first twon (Primary … and Time …), with no option to Save any ‘Text’ settings updates for this section.
I’ll have to do some experimenting to see what I can do. Most directly, I can tell you to go into your database and delete the option in the wp_options table for the field you were editing. I’m guessing that’s mc_month_format. Alternately, you can downgrade to PHP 7.4, where that doesn’t trigger a fatal error, and make the change then switch back.
The problem is because the character ‘%’ ends up being interpreted as a sprintf replacement parameter, but isn’t valid in that context. I’ll probably just need to ensure I strip percent signs out of the field if somebody adds them.
Hi Joe,
Thank you for the feedback. Let me give your suggestions a go. I will provide feedback once tested.
this should be fixed in the latest releases.