Add-on Sunrise Bestandlaaër
Ultimate Multisite 2.8.0 voeg 'n sunrise-uitbreidingslaaër by vir add-ons en aangepaste MU-plugin-integrasies wat moet loop tydens WordPress sunrise bootstrapping sonder om die gegenereerde wp-content/sunrise.php lêer te wysig.
Wanneer om dit te gebruik
Gebruik 'n sunrise-uitbreiding wanneer jou integrasie moet loop voordat gewone plugins gelaai word, soos aangepaste domeinroutering, host-spesifieke aanvraaghantering, of vroeë netwerk-bootstrapping aanpassings.
Vir normale integrasies, verkies ons gewone WordPress plugins, MU-plugins, en die gedokumenteerde Ultimate Multisite hooks. Sunrise-kode loop baie vroeg en moet klein, verdedigend en vry van afhanklikhede bly.
Bestandnaamkonvensie
Skep 'n PHP-bestand genaamd sunrise.php in 'n add-on-direktorie wie se naam begin met ultimate-multisite-:
wp-content/plugins/ultimate-multisite-example-addon/sunrise.php
Die laaër skandeer die plugins-direktorie vir hierdie patroon:
wp-content/plugins/ultimate-multisite-*/sunrise.php
Pasgemaakte lêers word in alfabetiese volgorde volgens die add-on-pad gelaai.
Waar om die lêer te plaas
Plaas die lêer in die hoofdirektorie van die add-on wat die sunrise-gedrag besit:
wp-content/
└── plugins/
└── ultimate-multisite-example-addon/
├── ultimate-multisite-example-addon.php
└── sunrise.php
Die skandering word opgelos ten opsigte van WP_CONTENT_DIR, nie die huidige waarde van WP_PLUGIN_DIR nie. Dit hou ontdekking stabiel wanneer multi-tenancy of ander vroeë bootstrap-kode plugin-direktorie-konstantes tydens sunrise verander.
Moenie die gegenereerde wp-content/sunrise.php lêer direk wysig nie. Die laaër laat aangepaste kode toe om die sunrise-gedrag uit te brei sonder om die kern sunrise-lêer te fork wat Ultimate Multisite installeer en opdateer.
Beschikbare Hooks en Filters
Addon sunrise lêers loop ná Ultimate Multisite domeinmapping gelaai is en voor WordPress ms_loaded uitlok. Op hierdie punt kan 'n sunrise-lêer:
$current_siteen$current_bloglees of oorskry;- toegang verkry tot
$wpdbnadat die databasiskonfigurasie gelaai is; - sunrise-tyd konstantes definieer soos
BLOG_ID_CURRENT_SITEwanneer nodig; - Ultimate Multisite sunrise-hulpstaat lees, insluitend routeringstatus wat deur multi-tenancy-integrasies gebruik word.
Ultimate Multisite lok wu_sunrise_loaded uit nadat sy sunrise-laaër klaar is. Gebruik daardie aksie vir kode wat moet loop nadat die sunrise-bootstrapping voltooi is, maar wat steeds by die sunrise-lewenstydsel behoort.
Roep slegs funksies aan wat reeds in die sunrise-fase gelaai is. Vermy databasis-intensiewe werk, sjabloonrendering, HTTP-aanvrae, en kode wat aanneem dat die normale plugin-laaiorde voltooi is.
Minimale voorbeeld
<?php
/**
* Sunrise-uitbreiding vir 'n aangepaste host-integrasie.
*/
if (! defined('ABSPATH')) {
exit;
}
if (isset($current_blog) && $current_blog instanceof stdClass) {
// Pas vroeë routering of konstantes aan voordat ms_loaded.
}
Nadat die lêer geplaas is, laai 'n gemapte domein en 'n ongemapte hoof-webwerf-URL om te bevestig dat beide paaie steeds korrek bootstrap.