Multisite improvements in WordPress 6.1

<div style&equals;"text-align&colon;center"><img src&equals;"data&colon;image&sol;gif&semi;base64&comma;R0lGODlhAQABAIAAAAAAAP&sol;&sol;&sol;ywAAAAAAQABAAACAUwAOw&equals;&equals;" fifu-lazy&equals;"1" fifu-data-sizes&equals;"auto" fifu-data-srcset&equals;"https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;75&resize&equals;75&ssl&equals;1 75w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;100&resize&equals;100&ssl&equals;1 100w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;150&resize&equals;150&ssl&equals;1 150w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;240&resize&equals;240&ssl&equals;1 240w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;320&resize&equals;320&ssl&equals;1 320w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;500&resize&equals;500&ssl&equals;1 500w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;640&resize&equals;640&ssl&equals;1 640w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;800&resize&equals;800&ssl&equals;1 800w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;1024&resize&equals;1024&ssl&equals;1 1024w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;1280&resize&equals;1280&ssl&equals;1 1280w&comma; https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1&w&equals;1600&resize&equals;1600&ssl&equals;1 1600w" width&equals;"1460" height&equals;"730" fifu-data-src&equals;"https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1" class&equals;"attachment-post-thumbnail size-post-thumbnail wp-post-image" alt&equals;"Multisite improvements in WordPress 6&period;1" title&equals;"Multisite improvements in WordPress 6&period;1" srcset&equals;"https&colon;&sol;&sol;i1&period;wp&period;com&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1&period;jpg&quest;ssl&equals;1 1460w&comma; https&colon;&sol;&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1-300x150&period;jpg 300w&comma; https&colon;&sol;&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1-1024x512&period;jpg 1024w&comma; https&colon;&sol;&sol;www&period;awordpresscommenter&period;com&sol;wp-content&sol;uploads&sol;2022&sol;10&sol;multisite-improvements-in-wordpress-6-1-768x384&period;jpg 768w" sizes&equals;"&lpar;max-width&colon; 1460px&rpar; 100vw&comma; 1460px" &sol;><&sol;div><div>&NewLine;<h2>Using the metadata API for network options<&sol;h2>&NewLine;<p>The way that network options are accessed is changing in WordPress 6&period;1&period; Network options have always been stored in a <code>meta<&sol;code> table called <code>sitemeta<&sol;code>&period; This name is confusing&comma; as &OpenCurlyDoubleQuote;site” in this context means &OpenCurlyDoubleQuote;network&comma;” not to be confused with blog <code>meta<&sol;code>&comma; used to store site metadata&period; Prior to WordPress 6&period;1&comma; the functions <code>get&lowbar;network&lowbar;option<&sol;code>&comma; <code>add&lowbar;network&lowbar;option<&sol;code>&comma; <code>update&lowbar;network&lowbar;options<&sol;code>&comma; and <code>delete&lowbar;network&lowbar;option<&sol;code> used custom database queries and caching&period; This resulted in some performance issues and lots of code to maintain&period; <&sol;p>&NewLine;<p>In WordPress 6&period;1&comma; the network options functions have been updated to use the more established metadata API&comma; which is already used for metadata of other object types like posts&comma; terms&comma; and users&period; This effectively makes a function like <code>get&lowbar;network&lowbar;option<&sol;code> a wrapper around <code>get&lowbar;metadata<&sol;code>&period; This has a number of advantages including&colon;<&sol;p>&NewLine;<ul>&NewLine;<li>Consistency with other metadata types<&sol;li>&NewLine;<li>Support for <code>register&lowbar;meta<&sol;code> functionality&comma; such as default values<&sol;li>&NewLine;<li>Improved cache priming <&sol;li>&NewLine;<li>Fewer database queries&comma; as all network options are primed in a single request <&sol;li>&NewLine;<&sol;ul>&NewLine;<p>Along with these improvements&comma; <code>WP&lowbar;Network&lowbar;Query<&sol;code> has a new parameter called <code>update&lowbar;network&lowbar;meta&lowbar;cache<&sol;code> that allows for all networks in the query to prime the network options in a single query&period; <&sol;p>&NewLine;<p>One side effect of this change is that newly updated network options using an integer value may result in a string being returned&period; When using values like this with an integer comparison&comma; it is important to allow cast to an int&period; In the old implementation&comma; the second page load of the option would have resulted in returning a string&period; This change can be considered a fix but it is different from the current behavior&period; <&sol;p>&NewLine;<p>This change makes cache group <code>site-options<&sol;code> no longer in use and a candidate to be removed in future releases&period; <&sol;p>&NewLine;<p>For more information&comma; visit Trac ticket <a href&equals;"https&colon;&sol;&sol;core&period;trac&period;wordpress&period;org&sol;ticket&sol;37181">&num;37181<&sol;a>&period; <&sol;p>&NewLine;<h2>Store main site ID of network in network options<&sol;h2>&NewLine;<p>When a multisite is created in WordPress 6&period;1&comma; the main site ID on the network is stored in network options&period; As the main site on the network does not change in most cases&comma; this is a value that can be stored for future reference&period; This saves a call to <code>WP&lowbar;Site&lowbar;Query<&sol;code> to look up the main site by domain and path in the bootstrap process which makes This lookup wasteful and not needed&period; This change also helps setup multiple networks&comma; as noted above&comma; since network options are primed in a single request&period; This means that when looking up multiple networks&comma; the main site ID is now primed in along with other network options&comma; resulting in fewer database queries &sol; cache lookups&period; <&sol;p>&NewLine;<p>For more information&comma; visit Trac ticket <a href&equals;"https&colon;&sol;&sol;core&period;trac&period;wordpress&period;org&sol;ticket&sol;55802">&num;55802<&sol;a>&period; <&sol;p>&NewLine;<p class&equals;"has-text-align-right"><em>Thanks to &commat;flixos90 and &commat;milana&lowbar;cap for peer review&comma; and <a href&equals;"https&colon;&sol;&sol;profiles&period;wordpress&period;org&sol;shetheliving&sol;" class&equals;"mention"><span class&equals;"mentions-prefix">&commat;<&sol;span>shetheliving<&sol;a> and <a href&equals;"https&colon;&sol;&sol;profiles&period;wordpress&period;org&sol;webcommsat&sol;" class&equals;"mention"><span class&equals;"mentions-prefix">&commat;<&sol;span>webcommsat<&sol;a> for proofreading&period;<&sol;em><&sol;p>&NewLine;<p class&equals;"o2-appended-tags"><a href&equals;"https&colon;&sol;&sol;make&period;wordpress&period;org&sol;core&sol;tag&sol;6-1&sol;" class&equals;"tag"><span class&equals;"tag-prefix">&num;<&sol;span>6-1<&sol;a>&comma; <a href&equals;"https&colon;&sol;&sol;make&period;wordpress&period;org&sol;core&sol;tag&sol;core-multisite&sol;" class&equals;"tag"><span class&equals;"tag-prefix">&num;<&sol;span>core-multisite<&sol;a>&comma; <a href&equals;"https&colon;&sol;&sol;make&period;wordpress&period;org&sol;core&sol;tag&sol;dev-notes&sol;" class&equals;"tag"><span class&equals;"tag-prefix">&num;<&sol;span>dev-notes<&sol;a>&comma; <a href&equals;"https&colon;&sol;&sol;make&period;wordpress&period;org&sol;core&sol;tag&sol;dev-notes-6-1&sol;" class&equals;"tag"><span class&equals;"tag-prefix">&num;<&sol;span>dev-notes-6-1<&sol;a>&comma; <a href&equals;"https&colon;&sol;&sol;make&period;wordpress&period;org&sol;core&sol;tag&sol;multisite&sol;" class&equals;"tag"><span class&equals;"tag-prefix">&num;<&sol;span>multisite<&sol;a>&comma; <a href&equals;"https&colon;&sol;&sol;make&period;wordpress&period;org&sol;core&sol;tag&sol;performance&sol;" class&equals;"tag"><span class&equals;"tag-prefix">&num;<&sol;span>performance<&sol;a><&sol;p>&NewLine;<&sol;div>&NewLine;

Sponsored
Sponsored
A WordPress Commenter

Recent Posts

Judge Reins In Discovery Fight as WP Engine Ordered to Produce Customer Data

A U.S. magistrate judge has moved to rein in the escalating discovery battle between WP…

4 hours ago

Ollie’s Menu Designer Flagged for Core, With Automattic Developers Set to Help Shepherd It

Ollie’s “game-changing” Menu Designer plugin is moving toward inclusion in WordPress core. Anne McCarthy says…

4 days ago

WordPress.com Rolls Out MCP Support as Automattic Dogfoods MCP Adapter

WordPress.com has rolled out support for the Model Context Protocol (MCP), allowing AI assistants to…

5 days ago

First Ten Hosts Certified Under Secure Hosting Alliance’s Trust Seal Program

Ten hosting providers have been certified under the Secure Hosting Alliance’s new Trust Seal program,…

5 days ago

Chasing the Sun: Inside WP Accessibility Day’s 24-Hour Event & What to Expect in 2025

When WP Accessibility Day kicks off next week, someone, somewhere will always be awake. As…

5 days ago

Performance Chat Summary: 7 October 2025

The full chat log is available beginning here on Slack. WordPress Performance Trac tickets @westonruter…

6 days ago