WordPress 6.3.1 update breaks Users admin screen?

We have a local installation of Pressbooks that’s been around for years. It recently updated to WordPress 6.3.1 and one of our Pressbooks admin reported that attempting to view the Users screen generates a WordPress critical error. “Network Admin” or “Pressbooks” → “Users” → “All Users”

Fatal error: Uncaught Error: Attempt to modify property “fields” on null in /code/wp-content/plugins/pressbooks/symbionts/custom-metadata/custom_metadata.php:868 Stack trace: #0 /code/wp-content/plugins/pressbooks/symbionts/custom-metadata/custom_metadata.php(440): custom_metadata_manager->_push_field(‘pb_title’, Object(stdClass), ‘general-book-in…’, ‘metadata’) #1 /code/wp-content/plugins/pressbooks/symbionts/custom-metadata/custom_metadata.php(358): custom_metadata_manager->add_field_to_group(‘pb_title’, Object(stdClass), ‘general-book-in…’, Array) #2 /code/wp-content/plugins/pressbooks/symbionts/custom-metadata/custom_metadata.php(1488): custom_metadata_manager->add_metadata_field(‘pb_title’, ‘metadata’, Array) #3 /code/wp-content/plugins/pressbooks/inc/admin/metaboxes/namespace.php(187): x_add_metadata_field(‘pb_title’, ‘metadata’, Array) #4 /code/wp-includes/class-wp-hook.php(310): Pressbooks\Admin\Metaboxes\add_meta_boxes(‘user’) #5 /code/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters(‘’, Array) #6 /code/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #7 /code/wp-content/plugins/pressbooks/symbionts/custom-metadata/custom_metadata.php(192): do_action(‘custom_metadata…’, ‘user’) #8 /code/wp-includes/class-wp-hook.php(310): custom_metadata_manager->init_metadata(‘’) #9 /code/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters(‘’, Array) #10 /code/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #11 /code/wp-admin/admin.php(385): do_action(‘load-users.php’) #12 /code/wp-admin/users.php(11): require_once(‘/code/wp-admin/…’) #13 {main} thrown in /code/wp-content/plugins/pressbooks/symbionts/custom-metadata/custom_metadata.php on line 868

WordPress Configuration

Network Type: Subdirectory
Version: 6.3.1
Language: en_US
WP_ENV: Not set
WP_DEBUG: Disabled
Memory Limit: 64M

Pressbooks Configuration

Version: 5.16.0
Root Theme: Aldine
Root Theme Version: 1.6.4

Server Configuration

PHP Version: 8.1.23
MySQL Version: 5.5.30
Webserver Info: nginx/1.25.2

PHP Configuration

Safe Mode: Disabled
Memory Limit: 256M
Upload Max Size: 100M
Post Max Size: 100M
Upload Max Filesize: 100M
Time Limit: 120
Max Input Vars: 10000
URL-aware fopen: On (1)
Display Errors: On (1)

PHP Extensions

OPcache: Zend
XDebug: Disabled
cURL: Supported
cURL Version: 7.61.1
imagick: Installed
xsl: Installed

It looks like “Add New” works OK.

HI @metalchink – the strack trace seems to indicate a problem with the custom metadata file in the symbionts folder in your Pressbooks plugin installation. You’re running a very old release of Pressbooks (from August 2020!), so my advice for you would be to update Pressbooks and see if that resolves your issues. We don’t test compatability with the latest WordPress releases on version from 3 years ago, so if you decide to stay on such an old release, you’re pretty much on your own.

Thanks for the quick response. The weird thing is that the WordPress Network Admin doesn’t show any available updates for the Pressbooks plugin, and i guess it hasn’t since the initial installation. Updates to WordPress, WP themes, and other plugins seem to work OK. Does that mean the only way to upgrade Pressbooks is to do a manual download of the source code from GitHub?

The recommended way to install and manage Pressbooks updates is with Composer (and Bedrock), but I think you can also do it with GitHub updater, a free WordPress plugin: GitHub - afragen/git-updater: This WP plugin will update GitHub, Bitbucket, GitLab, and Gitea hosted plugins and themes. Other open source users may have different advice for you, however.

Hi Steel,

Github Updater hasn’t worked for a long time. Around the time Ned left the team, you changed the way you were packaging releases in a way that doesn’t show up with Github Updater.

I think that the creator of the Github Updater plugin has also deprecated the original Github Updater plugin in favor of a newer plugin Git Updater that can be used not only at Github but also GitLab and other Git based version systems.

Over the past 4-5 years, there’s been a huge increase in the technical competence required to run a Pressbooks server. It would make upgrading Pressbooks significantly easier for your open source community if we could turn the dial back and make sure that Pressbooks plugins could be upgraded from inside the GUI from the update page.

It would be great if Pressbooks would work with Git Updater, the new version of Github Updater.