Skip to main content

Addon Sunrise File Loader

Ultimate Multisite 2.8.0 legger til en sunrise extension loader for add-ons og tilpassede MU-plugin-integrasjoner som må kjøre under WordPress sunrise bootstrapping uten at du trenger å redigere den genererte wp-content/sunrise.php filen.

Når du skal bruke det

Bruk en sunrise extension når integrasjonen din må kjøre før vanlige plugins lastes inn. Dette gjelder for eksempel tilpasset domenerutting, håndtering av forespørsler spesifikke for verten, eller tidlige justeringer av nettverket.

For vanlige integrasjoner, foretrekker vi vanlige WordPress plugins, MU-plugins og de dokumenterte Ultimate Multisite hooks. Sunrise-kode kjører veldig tidlig og bør derfor forbli liten, defensiv og uten avhengigheter.

Filnavnkonvensjon

Opprett en PHP-fil kalt sunrise.php i en addon-mappe hvis navn starter med ultimate-multisite-:

wp-content/plugins/ultimate-multisite-example-addon/sunrise.php

Loaderen skanner plugins-mappen etter dette mønsteret:

wp-content/plugins/ultimate-multisite-*/sunrise.php

Filene som matcher lastes inn i alfabetisk rekkefølge basert på addon-stien.

Hvor du skal plassere filen

Plasser filen i rotmappen til addon-en som eier sunrise-atferden:

wp-content/
└── plugins/
└── ultimate-multisite-example-addon/
├── ultimate-multisite-example-addon.php
└── sunrise.php

Skanningen løses relativt til WP_CONTENT_DIR, ikke den nåværende verdien av WP_PLUGIN_DIR. Dette holder oppdagelsen stabil selv om multi-tenancy eller annen tidlig bootstrap-kode endrer plugin-mappe-konstanter under sunrise.

Ikke rediger den genererte wp-content/sunrise.php filen direkte. Loaderen lar deg utvide sunrise-atferden med tilpasset kode uten å måtte forke kjerne-sunrise-filen som Ultimate Multisite installerer og oppdaterer.

Tilgjengelige hooks og filters

Addon sunrise-filer kjører etter at Ultimate Multisite domain mapping er lastet, og før WordPress utløser ms_loaded. På dette tidspunktet kan en sunrise-fil:

  • lese eller overstyre $current_site og $current_blog;
  • få tilgang til $wpdb etter at databasekonfigurasjonen er lastet;
  • definere sunrise-tids konstanter som BLOG_ID_CURRENT_SITE ved behov;
  • lese Ultimate Multisite sunrise helper state, inkludert ruting-state brukt av multi-tenancy-integrasjoner.

Ultimate Multisite utløser wu_sunrise_loaded etter at sunrise-loaderen er ferdig. Bruk denne actionen for kode som skal kjøre etter at sunrise bootstrap er fullført, men som fortsatt tilhører sunrise-livssyklusen.

Kall kun funksjoner som allerede er lastet i sunrise-fasen. Unngå database-tungt arbeid, template rendering, HTTP-forespørsler og kode som antar at normal plugin-lastrekkefølge er fullført.

Minimalt eksempel

<?php
/**
* Sunrise extension for a custom host integration.
*/

if (! defined('ABSPATH')) {
exit;
}

if (isset($current_blog) && $current_blog instanceof stdClass) {
// Adjust early routing or constants before ms_loaded.
}

Etter at du har deployert filen, last inn et mappet domene og en umappet main-site URL for å bekrefte at begge stiene fortsatt bootstrappes korrekt.