WordPress Multisite: Kattava opas koodinäytteitä käyttäville kehittäjille
WordPress Multisite on tehokas ominaisuusVaihe 3: Tallenna jonka avulla voit luoda ja hallita useita verkkosivustoja yhdellä WordPress-asennuksella. Se tarjoaa lukuisia etuja, kuten keskitetyn hallinnan, jaetut resurssit ja yksinkertaistetun ylläpidon. Tässä artikkelissa tutkimme WordPress Multisite -konseptia, keskustelemme sen eduista ja tarjoamme koodinäytteitä, joiden avulla voit hyödyntää sen täyden potentiaalin.
- WordPressin monisivuston määrittäminen: Ota Multisite-toiminto käyttöön sinun on tehtävä muutamia muutoksia WordPress-asennukseen. Noudata näitä ohjeita:
Vaihe 1: Varmuuskopioi WordPress-tiedostot ja -tietokanta.
Vaihe 2: Avaa tiedosto ja päivitä WordPress-hallintapaneelisi.
Vaihe 4: Siirry kohtaan "Työkalut" â "Network Setup" ja seuraa näytön ohjeita.
define( 'WP_ALLOW_MULTISITE', true );
wp-config.php wp-config.php
file ja refresh your WordPress admin dashboard.
Step 4: Go to "Tools" → "Network Setup" and follow the on-screen instructions.
- Monen sivuston verkkoasetusten määrittäminen: Kun olet määrittänyt WordPress Multisite -sovelluksen, sinun on määritettävä sen verkkoasetukset. Tässä ovat vaiheet:
Vaihe 1: Valitse aliverkkotunnus tai alihakemistorakenne:
- Aliverkkotunnusrakenne:
- Määritä jokerimerkkialiverkkotunnukset (*.omaverkkotunnus.com) osoittamaan WordPress-asennusta.
- Valitse \ "Aliverkkotunnukset"-vaihtoehto verkon asennuksen aikana.
- Alihakemistorakenne:
- Palvelimen määrityksiä ei vaadita.
- Valitse "Alihakemistot" verkkoasennuksen aikana.
Vaihe 2: Määritä verkon tiedot:
- Anna verkon nimi ja järjestelmänvalvojan sähköpostiosoite.
- Muokkaa verkonvalvojan ja sivuston järjestelmänvalvojan sähköpostiosoitteita tarvittaessa.
Vaihe 3: Viimeistele asennus:
- Napsauta "Asenna"-painiketta.
- Seuraa toimitetut ohjeet
wp-config.php
and.htaccess
tiedostojen päivittämiseen.
- Monisivustoverkon hallinta: Kun Multisite on määritetty, verkon hallinnasta tulee ratkaisevaa. Näin voit navigoida Multisite-verkossa ja suorittaa tärkeitä tehtäviä ohjelmallisesti:
- Verkon järjestelmänvalvojan käyttäminen:
- Voit käyttää verkon järjestelmänvalvojan hallintapaneelia ohjelmallisesti käyttämällä seuraavaa koodia:
switch_to_networktoimintakoukku. Tässä on esimerkkirajoita_sivuston_luomista_super_järjestelmänvalvojille joka lähettää ilmoitussähköpostin sivuston ylläpitäjälle: get_main_site_id'Sivuston luomisilmoitus'__ -suodatinta. Tässä on esimerkki:
- Uusien sivustojen luominen:
- Käytä
wpmu_create_blogUseiden sivustojen poistamisen mukauttaminen: Jos haluat suorittaa lisätoimia, kun sivusto poistetaan Multisitessa, voit käyttäätoimintokoukkua. Tässä on esimerkki, joka kirjaa lokiin sivuston poistamisen: })
-toimintoa luodaksesi uusia sivustoja ohjelmallisesti:
- Käytä
wpmu_create_blog; $newdomainTässä on vielä muutama koodiesimerkki: $pathRajoittaminen Sivuston luominen pääjärjestelmänvalvojille:
Jos haluat rajoittaa sivuston luomisen vain pääjärjestelmänvalvojille'virheet' voit käyttää $titleon_super_admin ! 'uusi-teema'jos . Monen sivuston hallintaan pääsyn rajoittaminen:
Jos haluat rajoittaa pääsyn Multisite-hallinnan hallintapaneeliin vain pääjärjestelmänvalvojille) voit käyttää -toimintoa. Tässä on esimerkki: $metaVerkon sivustoluettelon hakeminen:
Voit noutaa luettelon Multisite-verkon sivustoista käyttämällä $ site_id palautus
- Sivustoon vaihtaminen:
- Voit vaihtaa ohjelmallisesti tietylle sivustolle verkossa käyttämällä seuraavaa koodia:
 // Määritä teema-funktion kanssa. Tässä on esimerkki:palauta_nykyinen_blogi , // Päävalikon slug )Kopioi koodi) $uusi_sivuston_polku
- Verkkolaajennusten ja teemojen hallinta:
- Voit ohjelmallisesti ottaa käyttöön tai poistaa käytöstä laajennuksia ja teemoja koko verkossa käyttämällä
activate_pluginrajoita_useiden_sivustojen_järjestelmänvalvojan_käyttöä)) Usean sivuston verkoston sivustoluettelon näyttäminen sivulla: Voit näyttää sivulla luettelon Multisite-verkon sivustoista käyttämällä)
'Vain pääkäyttäjät voivat luoda uusia sivustojatoimintakoukkuaadd_submenu_pagecustom_network_menu_item) Tässä on esimerkki:'deactivate_pluginsnykyinen_user_can)
ja'Sivuston tunnus: ')
funktiot=
- Voit ohjelmallisesti ottaa käyttöön tai poistaa käytöstä laajennuksia ja teemoja koko verkossa käyttämällä
- Monisivustokohtaiset koukut ja suodattimet: WordPress Multisite tarjoaa lisäkoukkuja ja suodattimia sen toimivuuden laajentamiseksi, // Sivun otsikko Tässä on muutamia esimerkkejä:
wp_initialize_site
:- Sammutetaan'admin @example'custom- menu'com' kun uusi sivusto luodaan,
- Voit suorittaa mukautettuja toimintoja sivuston alustuksen aikana{
Ongelma: "ERR_TOO_MANY_REDIRECTS" -virhe verkon sivustoa käytettäessä.
:- Lisää mukautettuja valikkokohteita verkon järjestelmänvalvojan hallintapaneeliin.
- Hyödyllinen laajentamaan verkon toimintoja.
wpmu_new_user
:- Käynnistä'Sivusto poistettu: ' kun verkkoon lisätään uusi käyttäjä.
- Mahdollistaa käyttäjän rekisteröintiprosessin mukauttamisen.
Johtopäätös: WordPress Multisite on tehok ominaisuustoiminto joka voi virtaviivaistaa useiden verkkosivustojen hallintaa yhdessä WordPress-asennuksessa. Noudattamalla tässä esitettyjä ohjeita
Tässä on joitain koodiesimerkkejä:
- Käyttäjien ohjelmallinen lisääminen sivustoille:
Voit lisätä käyttäjiä tietyille sivustoille Multisite-verkostossa käyttämällä
_user_to_blogKopioi koodi)
funktio. Tässä on esimerkki:
 Kopioi koodi)asKopioi koodi = .Lisää koodia: ->verkkotunnus .'Muokattu valikkosivu
'$uusi_sivusto_verkkotunnus); 'käyttäjätunnus' )->IDPoista kaikki laajennukset käytöstä verkossa ja tarkistaVaihda tilapäisesti oletusteemaan esim. Twenty Twenty-One) tarkistaaksesget_blog_prefixtoiminto hakee tietyn sivuston taulukon etuliite ja tarkastaa sitten vastaavat taulukot.->unktio liittyykö ongelma nykyiseen teemaan. jatkuuko ongelma. Jos ei'=' aktivoi jokainen laajennus uudelleen yksitellen ristiriitaisen liitännäisen tunnistamiseksi. // Valikon otsikko
'Sivusto: ' _id
= 'uusisivusto.esimerkki.fi''toiminto'
$uusi_sivustopolku_user_to_blogwpmu_create_blog'WP_DEBUG_DISPLAY ') 'Muokattu valikko'_id'Teema aiheuttaa ongelmia. Vaihda toiseen teemaan.
' $user_id'Domain:' 'tilaaja' // Takaisinsoittotoiminto sivun hahmontamiseen
)WordPressin monisivuston vianmääritys:
- Monisivuston rekisteröinnin mukauttaminen:
Jos haluat mukauttaa käyttäjien rekisteröintiprosessia MultisitelleVirheenkorjauksen ottaminen käyttöön vianmääritystä varten:
Voit ottaa virheenkorjauksen käyttöön WordPress Multisitessa ja saada tarkempia virheilmoituksia lisäämällä seuraavan koodin voit käyttää
wpmu_validate_user_signup
-suodatinta. Tässä on esimerkki$wpdb joka tarkistaa mukautetun rekisteröintikentän "yritys":
 $table_prefixKäytä custom_validate_user_signup Tietokantataulukoiden tarkastaminen:
Jos epäilet ongelmia Multisite-tietokantataulukoiden kanssa, voit käyttää 'Sivuston URL-osoite: '
) ,
"SELECT * FROM -tiedostoon "Siinä kaikki, lopeta muokkaaminen!" -kommentin yläpuolelle: isset, Kopioi koodi 'yritys'] ) $user_idtoimintokoukkua näyttääksesi virheilmoituksen, jos ristiriitainen laajennus on aktiivinen: $_POST6get_blog_prefixKopioi koodi
==,$user_idadd( ,, __( ,, ) Kopioi koodi
) switch_theme,
(( toiminto, = "
- (
wpmu_new_blog
toiminto
function send_site_creation_notification( , $user_id, $domain, $path, '$table_prefix'_id, $meta ) get_results
;_url = get_site_url( $blog_id );
$admin_email = get_userdata( $user_id )->user_email;
) = $tulos $site_url.";
wp_mail( $admin_email, [, $message add
Kopioi koodi( 'wpmu_new_blog', 'send_site_creation_notification', 10, 6 );
- $tulos
);
Sivuston teemojen ohjelmallinen vaihtaminen: Voit vaihtaa teemoja ohjelmallisesti tietylle sivustolle Multisite-verkossa käyttämällä
function Kopioi koodi( { ) {
if Kopioi kooditoiminto
$result[$blog_id]->add( 'super_admin_only', __( Kopioi koodi, -funktion kanssa. Tässä on esimerkki: (
, $result,
add_filter( 'wpmu_validate_blog_signup', 'limit_site_creation_to_super_admins' );
=
- get_main_site_id
wp_delete_site
.
function log_site_deletion( $blog_id ) {
error_log( ( . $blog_id );
{
add_action( 'wp_delete_site', 'log_site_deletion' );
- ', Verkkotunnus: '
;
(
$site_id = get_main_site_id=
switch_to_blog( $site_id );
switch_theme( 'Uusi sivusto' );
get_sites->blogin_tunnus ) .
-
admin_init
(
function restrict_multisite_admin_access() {
if ( ! .( - >verkkotunnus . ', Polku: ' .( ->polku . $uusi_sivuston_nimi
;
}( __( -funktio yhdessä, 'text-domain'
add_action( =, ; );
- =
.
;
$sites = get_sitesKopioi koodi
foreach ( $sites as $site ;
Kopioi koodi = . $site->blog_id . ',' . $site( $uusi_sivuston_verkkotunnus . $site, '<br>';
}
get_user_by
- (
'login'
,switch_theme()
(
( = );;
switch_theme = '/';
// Palauta nykyinen sivusto = ();;
$new_site_admin = 'admin';
$new_site_admin_email = get_sites;
$theme_to_assign = 'twentytwenty';
$site
->polku . = wpmu_create_blog( $site, 'Muokattu valikko', (, get_user_by( 'login', $new_site_admin )->ID );
'Polku: '
switch_to_blog( $new_site_id );
;
switch_theme( $theme_to_assign );
(
$site();
- }
; }
Muokatun valikon luominen verkonvalvojan hallintapaneelissa: Voit lisätä mukautetun valikkokohdan Multisiten verkonvalvojan hallintapaneeliin käyttämällä
$sites = get_sites();
foreach ( $sites as $site Vuorovaikutus WordPressin monisivuston kanssa ohjelmallisesti
2 Teemaongelmien vianetsintä:
Jos kohtaat ongelmia Multisite-verkon teemojen kanssa, suorita vianetsintä seuraavasti: . $site->blog_id . '</h2>';
Kuinka kehittäjät voivat käyttää WordPress-koodia vuorovaikutuksessa WordPress Multisiten kanssa. , // Tarvitaan ominaisuuksia . $sitetoimintakoukkua näyttääksesi virheilmoituksen, jos tietty teema aiheuttaa ongelmia: '</p>';
echo $posts_table . $site); '</p>';
echo ) . get_site_url( $site// Lisää mukautettu sivusi sisältö tähän '</p>';
}
- Yleiset ongelmat ja ratkaisut:
network_admin_menu
Ratkaisu: Tarkista sivuston URL-asetukset verkon järjestelmänvalvojan hallintapaneelissa. Varmista, että ne on määritetty oikein valitulla aliverkkotunnuksella tai alihakemistorakenteella.Ongelma: Puuttuvat tai virheelliset uudelleenkirjoitussäännöt.
Ratkaisu: Luo uudelleenkirjoitussäännöt uudelleen käymällä "Asetukset" â "Pysyvät linkit" -sivulla verkon järjestelmänvalvojan hallintapaneelissa ja napsauta "Tallenna muutokset" -painiketta.
function custom_network_menu_item() {
add_submenu_page(
'settings.php',
Käytä);
)(
'manage_network',
tarkista_teeman_ongelmia, // Menu slug
'custom_menu_page_callback' (
add_action( 'network_admin_menu', laajennusten ristiriitojen vianetsintä:
Jos kohtaat ongelmia Multisite-verkon laajennuksissa, suorita vianetsintä seuraavasti: );
function custom_menu_page_callback() {
echo check_for_plugin_conflicts;
)
}
if
- (
on_plugin_active
- (
'conflicting-plugin/conflicting) -plugin.php'
- Solution: Regenerate the Rewrite Rules by visiting the "Settings" → "Permalinks" page in the network admin dashboard and clicking the "Save Changes" button.
echo
- ''
Ristiriitainen laajennus on aktiivinen. Poista se käytöstä.
- '
- // Korvaa halutulla sivuston tunnuksella
wp-config.php
(
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( if, false );
- 'oma -theme-folder/your-theme-style.css'
- ) {
- echo
network_admin_notices
; } }
function check_for_plugin_conflicts() {
if ( ( $site_id =
echo '<div class="error"><p>Conflicting Plugin is active. Please deactivate it.</p></div>';
}
}
add_action( 'network_admin_notices', $site_id );
- // Esimerkki: Tarkista sivustotunnuksen 2 viestitaulukko
- $posts_table
- =
network_admin_notices
.
function check_for_theme_issues() {
if ( get_stylesheet() === ); ) {
echo '<div class="error"><p>Theme is causing issues. Please switch to a different theme.</p></div>';
}
}
add_action( 'network_admin_notices', 'check_for_theme_issues' );
- Inspecting Database Tables:
If you suspect issues with the Multisite database tables, you can use the
get_blog_prefix()
function to retrieve the table prefix for a specific site and then inspect the corresponding tables.
$site_id = 2; // Replace with the desired site ID
$table_prefix = get_blog_prefix( $site_id );
// Example: Inspect the posts table for site ID 2
$posts_table = $table_prefix . 'posts';
$results = $wpdb->get_results( "SELECT * FROM $posts_table" );