<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>WordPress on BWRGY</title><link>https://handbook-bwrgy-org-971173.gitlab.io/handbook/development/wordpress/</link><description>Recent content in WordPress on BWRGY</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://handbook-bwrgy-org-971173.gitlab.io/handbook/development/wordpress/index.xml" rel="self" type="application/rss+xml"/><item><title>Local WP Setup</title><link>https://handbook-bwrgy-org-971173.gitlab.io/handbook/development/wordpress/setup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://handbook-bwrgy-org-971173.gitlab.io/handbook/development/wordpress/setup/</guid><description>&lt;p&gt;This guide helps you set up your local WordPress dev environment.&lt;/p&gt;
&lt;h2 id="set-up-localwp"&gt;Set Up LocalWP&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Download and install &lt;a href="https://localwp.com/"&gt;LocalWP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create a new site (use &amp;ldquo;Preferred&amp;rdquo; environment)&lt;/li&gt;
&lt;li&gt;Set credentials (e.g. &lt;code&gt;admin&lt;/code&gt; / &lt;code&gt;admin&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Access:
&lt;ul&gt;
&lt;li&gt;Site: &lt;code&gt;http://your-site.local&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Admin: &lt;code&gt;http://your-site.local/wp-admin&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Theme Development</title><link>https://handbook-bwrgy-org-971173.gitlab.io/handbook/development/wordpress/theme/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://handbook-bwrgy-org-971173.gitlab.io/handbook/development/wordpress/theme/</guid><description>&lt;h2 id="block-themes"&gt;Block Themes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Block themes use &lt;code&gt;theme.json&lt;/code&gt;, &lt;code&gt;templates/&lt;/code&gt;, and &lt;code&gt;parts/&lt;/code&gt; folders&lt;/li&gt;
&lt;li&gt;All parts of the site are editable via WP Admin → Appearance → Editor&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="resources"&gt;Resources&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.wordpress.org/block-editor/"&gt;Developer Handbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.wordpress.org/themes/core-concepts/"&gt;Core Concepts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.wordpress.org/themes/templates/template-hierarchy/"&gt;Template Hierarchy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Multisite</title><link>https://handbook-bwrgy-org-971173.gitlab.io/handbook/development/wordpress/multisite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://handbook-bwrgy-org-971173.gitlab.io/handbook/development/wordpress/multisite/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;WordPress Multisite is a feature built into WordPress that allows us to run multiple websites from a single WordPress installation. Here’s a breakdown of how it works under the hood:&lt;/p&gt;
&lt;h4 id="1-single-codebase-multiple-sites"&gt;1. Single Codebase, Multiple Sites&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Only one set of WordPress core files.&lt;/li&gt;
&lt;li&gt;All sites share plugins and themes (though individual sites can enable/disable them).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="2-database-structure"&gt;2. Database Structure&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;All sites share a single database, but WordPress creates separate tables per site.&lt;/li&gt;
&lt;li&gt;Table structure:
&lt;ul&gt;
&lt;li&gt;Main site: wp_options, wp_posts, etc.&lt;/li&gt;
&lt;li&gt;Sub-sites: wp_2_options, wp_2_posts, wp_3_options, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Global/shared tables include:
&lt;ul&gt;
&lt;li&gt;wp_users and wp_usermeta (users are shared across the network)&lt;/li&gt;
&lt;li&gt;wp_site, wp_blogs, wp_sitemeta for network management&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="3-domain-mapping"&gt;3. Domain Mapping&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sites can be:
&lt;ul&gt;
&lt;li&gt;Subdomains: site1.example.com&lt;/li&gt;
&lt;li&gt;Subdirectories: example.com/site1&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;With a plugin or custom configuration, you can map custom domains (e.g., site1.com, site2.net).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="4-htaccess-and-wp-configphp"&gt;4. .htaccess and wp-config.php&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Multisite modifies both:
&lt;ul&gt;
&lt;li&gt;wp-config.php: defines MULTISITE, SUBDOMAIN_INSTALL, and other constants.&lt;/li&gt;
&lt;li&gt;.htaccess: rewrites URLs to route traffic correctly to each site.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="5-admin-interface"&gt;5. Admin Interface&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Two admin layers:
&lt;ul&gt;
&lt;li&gt;Network Admin (/wp-admin/network): For managing the entire network (users, themes, plugins, sites).&lt;/li&gt;
&lt;li&gt;Site Admin: Each site has its own admin dashboard (/wp-admin) with scoped permissions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="6-security-and-isolation"&gt;6. Security and Isolation&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Sites are not fully isolated like containerized apps.&lt;/li&gt;
&lt;li&gt;Plugins and themes are network-wide, so a faulty plugin can affect all sites.&lt;/li&gt;
&lt;li&gt;User roles and capabilities can be restricted per site, but full sandboxing is not native.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="7-performance-and-caching"&gt;7. Performance and Caching&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Because of shared resources and a single DB, high-traffic multisites often need:
&lt;ul&gt;
&lt;li&gt;Advanced object caching (e.g., Redis)&lt;/li&gt;
&lt;li&gt;CDN and page caching&lt;/li&gt;
&lt;li&gt;DB scaling (e.g., using HyperDB or shard-based plugins)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>