Addon Sunrise File Loader
Ultimate Multisite 2.8.0 voegt een sunrise extension loader toe voor add-ons en aangepaste MU-plugin integraties die moeten draaien tijdens het WordPress sunrise bootstrapping, zonder dat u het gegenereerde wp-content/sunrise.php bestand hoeft te bewerken.
Wanneer te gebruiken
Gebruik een sunrise extension wanneer uw integratie moet draaien voordat reguliere plugins worden geladen, zoals voor aangepaste domeinroutering, host-specifieke verwerking van verzoeken, of vroege aanpassingen aan de netwerk-bootstrap.
Voor normale integraties geven wij de voorkeur aan reguliere WordPress plugins, MU-plugins en de gedocumenteerde Ultimate Multisite hooks. Sunrise code draait erg vroeg en moet klein, defensief en onafhankelijk van externe afhankelijkheden blijven.
Bestandsnaamconventie
Maak een PHP-bestand met de naam sunrise.php in een addon-map waarvan de naam begint met ultimate-multisite-:
wp-content/plugins/ultimate-multisite-example-addon/sunrise.php
De loader scant de plugins-map op dit patroon:
wp-content/plugins/ultimate-multisite-*/sunrise.php
De overeenkomende bestanden worden in alfabetische volgorde geladen op basis van het addon-pad.
Waar het bestand te plaatsen
Plaats het bestand in de root-map van de addon die verantwoordelijk is voor het sunrise-gedrag:
wp-content/
└── plugins/
└── ultimate-multisite-example-addon/
├── ultimate-multisite-example-addon.php
└── sunrise.php
De scan wordt afgehandeld ten opzichte van WP_CONTENT_DIR, en niet ten opzichte van de huidige waarde van WP_PLUGIN_DIR. Dit zorgt ervoor dat de ontdekking stabiel blijft wanneer multi-tenancy of andere vroege bootstrap-code de plugin-directory constanten wijzigt tijdens sunrise.
Bewerk het gegenereerde wp-content/sunrise.php bestand niet direct. De loader stelt u in staat om aangepaste code te laten uitbreiden op het sunrise-gedrag zonder de kern-sunrise-file te forken die Ultimate Multisite installeert en bijwerkt.
Beschikbare hooks en filters
Addon sunrise bestanden draaien nadat de domeinmapping van Ultimate Multisite is geladen en vóórdat WordPress ms_loaded activeert. Op dit punt kan een sunrise-bestand:
$current_siteen$current_bloglezen of overschrijven;- toegang krijgen tot
$wpdbnadat de databaseconfiguratie is geladen; - sunrise-tijdconstanten definiëren, zoals
BLOG_ID_CURRENT_SITE, indien nodig; - de sunrise helper state van Ultimate Multisite lezen, inclusief de routeringsstatus die wordt gebruikt door multi-tenancy integraties.
Ultimate Multisite activeert wu_sunrise_loaded nadat zijn sunrise loader is voltooid. Gebruik deze action voor code die moet draaien nadat het sunrise bootstrap-proces is voltooid, maar die nog steeds tot de sunrise levenscyclus behoort.
Roep alleen functies aan die al geladen zijn in de sunrise-fase. Vermijd database-intensief werk, template rendering, HTTP-verzoeken en code die ervan uitgaat dat de normale plugin-laadvolgorde is voltooid.
Minimale voorbeeld
<?php
/**
* Sunrise extension voor een aangepaste host-integratie.
*/
if (! defined('ABSPATH')) {
exit;
}
if (isset($current_blog) && $current_blog instanceof stdClass) {
// Pas vroege routing of constanten aan vóór ms_loaded.
}
Nadat u het bestand heeft gedeployed, laad dan een gemapt domein en een ongemapt main-site URL om te bevestigen dat beide paden nog steeds correct bootstrappen.