az internet ablakok Android

Hogyan készítsünk saját regisztrációs oldalt WordPress Multisite-ben. A regisztrációs űrlap kimenete

Hozzon létre saját regisztrációs oldalt a szabványos WP-Signup.php helyett a multisite helyett.

A szokásos WordPress beállításban a regisztrációs oldal (engedélyezés, jelszó-visszaállítás) jeleníti meg a WP-login.php fájlt.

  • /wp-login.php - Engedélyezés
  • /wp-login.php?action\u003dregister - regisztráció
  • /wp-login.php?action\u003dlostpassword - jelszó visszaállítása

A WP-login.php multisite esetében külön feltételek vannak. Tehát, ha rákattint a linkre /wp-login.php?action\u003drististerre a multisaitra, a WordPress átirányítja a /wp-signup.php oldalt. Számos témában az oldal nem néz ki nagyon vonzónak, így a sajátunkat meg fogjuk csinálni.

Fő webhely hálózat

Alapértelmezés szerint a WordPress megnyitja a regisztrációs oldalt (wp-signup.php) a fő tartományban (weboldal) hálózaton. Mindazonáltal külön regisztrációs oldalt készíthet minden hálózati oldalra, még akkor is, ha különböző témái vannak. Figyelembe vesszük az esetet, amikor minden hálózati webhelyen saját regisztrációs oldal van, de ugyanazt a témát használják, és a webhelyek csak a nyelven különböznek. Ha különböző témákat használnak, akkor több kódot kell írnia.

funkciók.php?

Nem. A fájl neve úgy tűnik, hogy a WordPress bármely cikkében szerepel. A mi esetünkben figyelembe véve azt a tényt, hogy a regisztrációs funkcionalitást több helyszínre tervezték, érdemes megragadni a helyszínen betöltő mu-pluginokba.

Lírai digression

Érdemes megjegyezni, hogy a mu-pluginok korábban vannak betöltve, mint a szokásos plug-inek, és amíg a WordPress rendszermag teljesen letöltött, így a funkciók hívása fatabál hibáihoz vezethet a PHP-ben. Hasonló "korai" letöltés előnye van. Mondjuk be, hogy bármilyen téma nem lehet ragaszkodni néhány olyan művelethez, amelyet a funkciók.php fájl letöltése a témáról. Ennek egyik példája Jetpack_Module_loaded_related-Posts pluginként szolgálhat (kapcsolódó hozzászólások - a modul neve), amellyel lehet követni a modulok aktivitását a Jetpackban. Lehetetlen "tengelykapcsoló" a témakörről erre a műveletre, mert a művelet már dolgozott a téma betöltése előtt - a bővítmények korábban betöltődnek. Megnézheti a WordPress Boot Order közös képét a Code Action Reference oldalon.

A fájlok sorrendje

A MU-Plugins tartalmazhat bármilyen számú fájlt és bármilyen diagramot, amely logikusnak tűnik Önnek. Tartok egy ilyen hierarchiát:

| -Mu-plugins | - | load.php | - | - | Selena-Network | - | - | - | - - - - - | - | - | - | - |-pugin.php | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | -... | - | - | - | - | -Jetpack | - | - | - | - | - -plugin.php

A Load.php fájlban az összes szükséges "bővítmény" csatlakozik a hálózatunkhoz:

Terhelés trasalates minden addons load_muplugin_textdomain ("Selena_network", "/ Selena-Network / Nyelvek /"); // A hálózati regisztráció WPMU_PLUGIN_DIR-t igényel. "/sintena-network/signup/plugin.php"; // másik plugins // wpmu_plugin_dir ...

A Selena-Network mappa belsejében a plug-in mappák tárolódnak, mindegyiknek van saját plugin.php, amelyet a LOAD.PHP-en csatlakoztatunk. Ez rugalmasságot biztosít, és képes gyorsan letiltani és néhány dolgot tartalmazni.

A regisztrációs oldal címe

A regisztrációs oldal címének megadásához használja a wp_signup_location szűrőt. A WP-login.php fájlon belül megtalálható, és aki felelős a WP-Signup.php átirányításáért.

"Regisztráció": ha (IS_Multisite ()) (wp_redirect (Apply_filsers ("wp_signup_location", network_site_url ("wp-signup.php")); kilépés;

Adja hozzá funkcióját a MU-Plugins / Selena-Network / Signup / Plugin.php-ben, amely megadja a regisztrációs oldal címét az aktuális oldalon:

Funkció Selena_Network_signUp_Page ($ URL) (RETURN HOME_URL (). "/ Regisztráció /";) Add_Filter ("wp_signup_location", "selena_network_signup_page", 99);

selena_Network - előtag, amelyet a mu-pluginok belsejében lévő összes funkció nevében használok a konfliktusok elkerülése érdekében, ki kell cserélni saját egyedi előtaggal. A 99 szűrő hozzáadásának prioritása, mivel egyes bővítmények, például a BBPRESS és a BUDDYPYPRESS, felülírhatják ezt a címet saját (MU-pluginok betöltve, mint a hagyományos pluginok, lásd fent). Kérjük, vegye figyelembe, hogy a Home_URL () használatos, a Network_Site_URL () helyett, hogy a látogatót ugyanazon a területen hagyja el. Használhat bármilyen URL-címet címként.

Oldal létrehozása

Most hozzunk létre egy oldalt a Site.com/signup/ rendszeres felületen keresztül, és a lánya-alany mappa sablonja az új oldal - oldal-signup.php. A "Regisztráció" szó helyett egyedi azonosítót használhat.

Az új sablon belsejében meg kell hívnia a Selena_Network_signup_main () funkciót, amely megjeleníti a regisztrációs űrlapot.

Érdemes megjegyezni, hogy az egész folyamat sablonokkal nem szükséges, és helyette létrehozhatja saját rövid kódját, amely a Selena_Network_signup_main () funkciót is hívja.

wp-signup.php és wp-activate.php

Most létrehozunk egy olyan funkciót, amely megjeleníti a regisztrációs űrlapot. Ehhez másolja a wp-signup.php és a wp-activate.php fájlt a gyökér wordpress-ről a mu-dugarak / Selena-Network / Regisztráció / (és ne felejtse el csatlakoztatni őket a mu-plugins / Selena-Network / Signup / plugin.php). A fájlokkal való további manipuláció rendkívül nehéz és hosszú, hogy leírja, így jöjjön el magad. Csak azt írom le, hogy pontosan mit kell tenni, és közzéteszi a projekt forrásfájljait:

  1. A fájl elején törölje az összes szükséges, hívó funkciókat és más kódot külső funkciókat.
  2. Átnevezzük az összes funkciót az egyedi előtagok hozzáadásával a nevekhez.
  3. A WP-SignUp.php kód alsó része a Selena_Network_signup_main funkcióba kerül, és az elején a Global $ Active_signup írása; .
  4. Cserélje ki az elrendezést a megfelelő helyeken.

A WP-ACTIVATE.PHP-ben meg kell tennie ugyanezt:

  1. Törölje az összes kód külső funkcióját, az elrendezést egy különálló funkcióba csomagolja.
  2. Módosítsa az elrendezést olyan helyeken, ahol szükséges.

A WP-ACTIVATE.PHP fájl felelős a fiók aktiválási oldaláért. A regisztrációs oldalhoz hasonlóan létre kell hoznia egy külön sablont, amelyen belül egy funkciót hívhat a WP-ACTIVATE.PHP fájlból.

Az aktiváló betűket elküldjük

A regisztrációs oldal egy levelet küld a látogatónak a fiók aktiválásával kapcsolatban. Alapértelmezés szerint ez a wpmu_signup_user_notification () funkció az MS-FUNCTIOW.PHP fájlból. Funkciója kölcsönözhető a funkcióhoz. Az ok, amiért meg akarja tagadni ezt a funkciót - fiók aktiválási referenciát küld a WP-ACTIVATE.PHP-vel. Ezt a funkciót a WPMU_SignUp_user_notification szűrő segítségével letilthatja a FALSE-ot (ha ez nem tegye meg, az aktiváló betű kétszer kerül elküldésre, az oké, valójában két különböző betű).

Funkció ArmyOfselenaGomez_wpmu_signup_user_notification ($ felhasználó, $ user_mail, $ billentyű, $ meta \u003d tömb ()) (// ... // kód a wpmu_signup_user_notification () funkcióból WP_Mail ($ user_email, wp_specialchars_decode ($ Tárgy), $ üzenet, $ Message_Hearers ); Visszaadja a hamis;) add_filter ("wpmu_signup_user_notifikáció", "Armyofselegenagomez_wpmu_signup_user_notification", 10, 4);

Ennek eredményeképpen a Selena témájában szereplő regisztrációs oldal sok tisztább és óvatos volt.

Következtetés

Az interneten sok más, nem nagyon helyes módja annak, hogy ugyanazt a dolgot - az Apache átirányítások, az Ajax-formák, amelyek nem fognak Java szkript nélkül működni, stb. Nem igazán tetszett nagyon, ezért megpróbáltam leginkább megcsinálni Saját honlapom.

Megjegyzem, hogy a szerkesztési fájloknak óvatosan kell tudniuk, és próbáld meg, hogy ne mozduljanak el a forrástól a Rankneshig, ha a WordPress módosítja a WP-Signup.php és WP-Activate.php fájlokat, könnyebben összehasonlították őket a változások megtalálásához .

Ne felejtsd el megnézni a fent leírt funkciók forráskódját annak érdekében, hogy teljes mértékben foglalkozzanak azzal, amit a kód belsejében találnak.

Bónusz. A spammerek elleni védelem

Még a WordPress legfiatalabb helyszínei gyakran spam regisztrációnak vannak kitéve. Végtelen feltételeket írhatsz a botok szűrésére, gyakran hasonlít a mesterséges intelligencia létrehozására irányuló kísérlethez 🙂 Multisite esetében, az Apache rendszeres átirányítása segített nekem, amelynek megnyitása /wp-signup.php és / wp- Acitvate.php, kértem, hogy 404-et adjak ki (nem vagyok szakértő az Apache felállításán, így a szabályom nem lehet nagyon helyes).

RewritEngine on Rewritebase / Rewriterule ^ WP-Signup \\ .php - RewriteLE ^ WP-Activate \\ .php - # Begin WordPress # Szabályok a WordPress alapértelmezés szerint nem érinti :) # ... # Vége WordPress

P. S. Megpróbálok egy harmadik féltől származó dolgokat leírni, amennyire csak lehetséges, mert amikor elkezdtem, néha valahogy megmondani és megmagyarázni sok dolgot. Azt is hiszem, hogy hasonló kis tippeket más anyagokon valaki meg fogja nyomni valami új tanulmányozását és bővítve a tudás területét. Rendszeres kifejezéseket használnak a rereriterulák rekordjaiban, ezek nem teljesen összetettek, például a szimbólum ^ a vonal kezdetét jelenti.

Hirdetések.

ln [-Fhinsv] eredeti fájl [ target_file ] ln [-Fhinsv] eredeti fájl ... cél_catalog LINK. sOURCE_FILE TARGET_FILE Program ln. Létrehoz egy bejegyzést a nevezett könyvtárban (link) target_file. A target_file Ugyanazok a rendszerek kerülnek telepítésre eredeti fájl. A hivatkozások lehetővé teszik, hogy több példányt kapjon egy fájlból vagy könyvtárban, amely különböző helyeken helyezkedik el, de a lemezterület elfoglalása nélkül. Kétféle link, szűk referenciák és szimbolikus kapcsolatok vannak. Milyen referencia-pontok vannak eredeti fájlA link típusától függ.

Az LN parancs a következő lehetőségek: -f ha target_file Már létezik, távolítsa el, hogy létrehozhasson egy linket. Ez az opció megszakítja az opciót. -ÉN.. -F ha target_file Már létezik és egy könyvtár, távolítsa el, hogy létrehozhat egy linket. választási lehetőség -F. -F opciókkal vagy -ÉN., Ha egyikük sem van megadva, az opció azt jelenti. -f.. Ez az opció nem működik opció nélkül. -S.. - ha target_file vagy cél_catalog Ez egy szimbolikus link, ne kövesse. Ez az opció hasznos az opcióval kombinálva. -f. A szimbolikus referencia cseréjéhez, amely jelzi a könyvtárat. -I interaktív mód. Ha egy target_file Van, a felhasználó az eltávolítás iránti kérelem lesz hozzájárulás esetén, ln. Eltávolít target_file Hozzon létre egy új linket. Ez az opció törli a művelet opciót. -f.. -N analóg opció -h., a program egyéb megvalósításával való kompatibilitás érdekében ln.. - Hozzon létre egy szimbolikus linket. -V megjelenítési mód A program előrehaladásáról ln.. Alapértelmezett program ln. Kemény linket hoz létre. A szigorú linket a fájlt, nem különbözik a forrás fájlt, és a változások a fájl nem függ, amelyek nevében a fellebbezéssel rá. A kemény referenciák nem lehetnek hivatkozás a könyvtárakra, valamint nem lehetnek kívül ez a fájlrendszer. A szimbolikus link tartalmazza a fájl nevét, amelyre utal. Működés végrehajtásakor nyisd ki.(2) A szimbolikus referencia felett az eredetes fájlt használja. Hívás statisztika(2), amely szimbolikus referencián készült, akkor is visszaadja a forrásfájlt. A használható linkről lstat.(2). A szimbolikus link tartalmának olvasásához használhatja a hívást readlink.(2). A kemény referenciákkal ellentétben a szimbolikus lehet egy másik fájlrendszeren, és jelezheti a könyvtárakat. Egy vagy két érv, program ln. hivatkozik a meglévőre eredeti fájl. A link nevét az érvből fogják venni. target_file. Ha az érvelésben van target_fileA könyvtár nincs megadva, hogy hivatkozás létrehozásához az aktuális könyvtárat akkor használják, ha csak a könyvtár megadódik, a link az utolsó elemhez eredeti fájl. Több mint két érv, program ln. Linkek létrehozása B. cél_catalog az összes jelzett útvonalon eredeti fájl. A linkeket a forrásfájlok nevével kapják meg. Ha program ln., az űrlapon lINK.Meg kell átadni pontosan két érv, a továbbított érveket nem lehet könyvtárakat, ráadásul ebben a formában nem fogad el semmilyen lehetőséget. Ez egy egyszerű használat formája. Kompatibilitási lehetőség -h., -ÉN., -N. és -V.a program egyéb megvalósításának kompatibilitására szolgálnak ln.És nem ajánlott forgatókönyvekben. választási lehetőség -F. egy további

Lehetővé teszi, hogy egy Wordpress beállítást használjon több webhelyre egyszerre. Ugyanakkor minden webhely megkapja saját asztalait az adatbázisban egyedi előtaggal.

A regisztrált felhasználók adatai az összes hálózati oldalra közösen. Ez egy bizonyos plusz és egy nap regisztrálása több webhelyhez férhet hozzá. Ráadásul minden egyes webhelyen ugyanaz a számla különböző jogokkal rendelkezhet. Például egy webhelyen a felhasználó lehet a szerkesztő, és egy másik rendszergazda.

A szokásos WordPress telepítésben a regisztrációs oldal, az engedélyezés és a jelszó visszaállítása megjeleníti a WP-login.php fájlt.

  • wp-login.php - Engedélyezés
  • wp-login.php? Akció \u003d Regisztráció - Regisztráció
  • wp-login.php? Akció \u003d LostPassword - jelszó visszaállítása

A multisite módban a WordPress rendszermag elkezdi másképp viselkedni, és a WP-login.php linkre való áttéréskor a WP-Signup.php átirányítását kapja. Ez a hálózat regisztrációs oldala, amely alapértelmezett a WordPress-ben.

A rendes felhasználói fiókok regisztrálásán kívül új webhelyet hozhat létre, ha a SuperMinistrator lehetővé tette a hálózati beállítások (hálózati beállítások) lehetőséget.

A legtöbb témában a regisztrációs oldal nem tűnik nagyon jól. Számos témát használ a CSS-keretrendszerek, mint például a bootstrap, és saját specifikus osztályai az oldalak különböző elemeinek stilizálására, ezért nehéz írni egyetlen HTML-t, amely mindenki számára alkalmas.

De nem kell kétségbeesni, ha az oldal rendetlennek tűnik. A WP-Signup.php fájl először nagyszerű dolog, amikor nincs idő, hogy dolgozzon ki a webhely minden részét - más fontosabb oldalakra és tartalmra összpontosíthat.

Ha készen áll a saját regisztrációs oldalára, a WP-Signup.php jó minta lesz, és egy példa, amely könnyű megérteni a WordPress által a felhasználók által megadott adatok feldolgozását és ellenőrzését, és új fiókokat hoz létre.

Fő webhely hálózat

Alapértelmezés szerint a WordPress megnyitja a regisztrációs oldalt (wp-signup.php) a fő tartományban (weboldal) hálózaton. Mindazonáltal regisztrációs oldalakat hozhat létre minden hálózati webhelyen, még akkor is, ha van témájuk.

Figyelembe vesszük az esetet, ha az egyik témát minden hálózati oldalra használják, de mindegyikük regisztrációs oldal van. A helyszínek nyelven különböznek (angolul és oroszul), így a regisztrációs oldal megjelenik a "natív" nyelvi oldalon. Ha a webhelyek különböző témákat használnak, akkor minden attól függ, hogy mely témák, amelyek megfelelnek nekik ugyanazt az elrendezést (kitűnő helyzet, amely az összes témájának egyesítésére irányíthatja Önt), vagy érdemes az oldalakat egyedileg dolgozni.

Alternatíva a funkciók.php.

A fájlok sorrendje

A mu-pluginok tartalmazhatnak bármilyen számú fájlt és egy olyan struktúrát, amely logikusnak tűnik Önnek. Tartok egy ilyen hierarchiát:

| Mu-plugins | | Load.php | | Selena-hálózat | | | Regisztráció | | | | plugin.php | | | ... | | | Jetpack | | | | plugin.php.

A Load.php fájlban a fordítások és az összes szükséges "bővítmény" csatlakoztatva van:

// Transzferek Transzferek a MU-Plugins Load_Muplugin_TextDomain ("Selena_Network", "/ Selena-Network / Nyelvek /"); // Funkcionális a regisztrációs oldalra WPMU_PLUGIN_DIR-t igényel. "/sintena-network/signup/plugin.php"; // Egy másik plugin // wpmu_plugin_dir ...

A Selena-Network könyvtár belsejében a plug-in mappák tárolódnak. Mindegyiknek van saját plugin.php, amelyet a load.php-en csatlakoztatunk. Ez rugalmasságot biztosít és a vészhelyzet esetén azonnal letiltható és azonnal letiltja és magában foglalja a munkaparabot.

Regisztrációs oldal

Miután megértettük, hogy hol és hogyan fogunk kódot írni, akkor a regisztrációs oldal létrehozásához megy.

Hozzon létre egy oldalt egy példányban.org/signup/ a szokásos felületen keresztül. A címként bármely URL-t használhat, amely alkalmasnak tűnik a projekthez.

Átirányítja a kívánt regisztrációs oldalt

A WordPress számára, hogy megtudja az új regisztrációs oldalunkat, és átirányítsa azt, amikor a "Regisztráció" linkre kattint, a WP_SIGNUP_LOCIATE szűrő használata. A WP-LOGINT.PHP belsejében található, és az, aki felelős az alapértelmezett wp-signup.php átirányításáért.

"Regisztráció": ha (IS_Multisite ()) (WP_REDICT (APPLE_FILTERS ("WP_SIGNUP_LOCIATE", NETWORK_SITE_URL ("WP-signup.php"))); Kilépés; // ...

Az alapértelmezés szerint a regisztrációs oldal a hálózat fő területén nyílik meg. Ezért van itt a Network_Site_URL () itt.

Adja hozzá a szűrőkezelőt a MU-Plugins / Selena-Network / Signup / Plugin.phphez, amely az aktuális oldalon található regisztrációs oldal címét kapja:

Funkció Selena_Network_signup_Page ($ URL);) Add_Filter ("wp_signup_location", "selena_network_signup_page", 99);

selena_Network - előtag, amelyet a mu-pluginok belsejében lévő összes funkció nevében használok a konfliktusok elkerülése érdekében, ki kell cserélni saját egyedi előtaggal. A 99 szűrő hozzáadásának prioritása, mivel egyes bővítmények, például a BBPRESS és a BUDDYPYPRESS, felülírhatják ezt a címet saját (MU-pluginok betöltve, mint a hagyományos pluginok, lásd fent).

Kérjük, vegye figyelembe, hogy a Home_URL () használják, amely a Network_Site_URL () ellentétben az aktuális webhely címét adja meg, és nem a fő hálózati oldalt.

Wp-signup.php funkciók

A WP-Signup.php fájl nagy számú funkciót és kódot tartalmaz. A kép egészének megtekintéséhez használhatja az összecsukható kódot. Általános szabályként angolul "kód összecsukása".

A fájl kezdetén 1-től 80-ig a vonal (a 4.1.1-es verzióban) különböző ellenőrzéseket készítenek és adják ki a "Start" oldalt a Get_Header () segítségével.

Ezután sok módszert hirdetnek, és mielőtt elkezdünk dolgozni velük, érdemes megérteni, hogy mi teszi az egyes funkciókat. Belül, közülük sokan gyakran használnak más funkciókat a WPMU_ előtaggal, mindegyikük a WP-Tartomány / MS-FUNCESS.PHP fájlban van bejelentve. Ez a rész nehéz megérteni anélkül, hogy meglátná a kódot. Az alapvető funkciók közül az alábbiakban, ha nehézségei vannak.

  • wpmu_signup_stylesheet () - További CSS kimenete a regisztrációs oldalon.
  • show_blog_form () - mezők a webhely regisztrációhoz (cím, név láthatóság a keresőmotorokhoz).
  • validate_blog_form () - A beírt webhely címe és nevei a wpmu_validate_blog_signup () használatával.
  • show_user_form () - mezők a felhasználó regisztrálásához (bejelentkezési és e-mail cím).
  • validate_user_form () - A bejelentkezés és a címek ellenőrzése. Mail wpmu_validate_user_signup ().
  • signup_another_blog () - Az új webhelyek regisztrálásának mezők a show_blog_form () használatával, akik már regisztráltak a webhelyen.
  • validate_another_blog_signup () - Ellenőrzi a webhelycímet és a nevet a Validate_blog_form () segítségével.
  • a Signup_User () a fő funkció a regisztrációs oldal kiadásához.
  • validate_user_signup () - Ellenőrzi a bejelentkezési és e-mail címet. Mail validate_user_form ().
  • signup_blog () - mezők a webhely címének, nevének és láthatóságának megadásához (második regisztrációs lépés) a show_blog_form () használatával.
  • validate_blog_signup () - Ellenőrzi a bejelentkezést, az e-mail címet. Mail, cím és webhelynév.

A WP-Signup.php fájl (a 4.1.1-es verzió 646-as varrásából), a regisztrációs oldal fő logikája, amely a fenti módszereket használja. A kód ezen részét nem nyújtják be a funkcióhoz. A végén, Get_Footer () hívják.

Másolja a funkcionális wp-signup.php fájlt

Ezután a WP-Signup.php mu-plug-ins-ben történő másolására vonatkozó eljárást le kell írni, és a villát. Úgy tűnik, nem megfelelő módon. Ehelyett írhatod a funkciókat a semmiből, hogy ellenőrizze és kimeneti űrlapokat az osztályok használatával, nem hagyományos funkciók segítségével. Véleményem szerint a WP-Signup.php már rendelkezik minden szükséges logikával az oldalunkra, csak a kisebb változtatások végrehajtása.

A WordPress frissítése során a WP-SignUp.php időről időre változik, de ez nem jelenti azt, hogy minden egyes kiadásnak szinkronizálnia kell a "FORC" -t. A WP-Signup.php belsejében lévő funkciók alapvetően csak a HTML kimenet, az adatellenőrzés, a fiókok létrehozása és a webhelyek létrehozása az MS-Funcsék.php-ben bejelentett WPMU_ előtaggal rendelkezik.

Olyan funkciót hozunk létre, amely megjeleníti a regisztrációs űrlapot az oldalon. Ehhez másolja WP-Signup.php WordPress gyökeret Mu-plugings / Selena-Network / feliratkozást /. Csatlakoztassa a MU-Pugins / Selena-Network / Signup / Plugin.php-be.

WPMU_PLUGIN_DIR-t igényel. "/sintena-network/signup/wp-signup.php";

Törölje az összes szükséges és szükségtelen ellenőrzéseket a másolt fájl kezdetétől. A 4.1.1-es verzióban ez az egész kód 1-80 sor.

Most készen állunk arra, hogy létrehozzuk a fő funkciót a regisztrációs űrlap megjelenítéséhez. Ehhez minden logika a 646-os vonalról és a fájl végéig át fogjuk kerülni a Selena_Network_signup_main nevű függvényre. A végén törölsz két szükségtelen lezárást

(722 és 723 vonalak), valamint a hívás get_footer ().

Az újonnan létrehozott Selena_Network_signup_main () a kezdetektől fogva kijelentjük, hogy az Active_Signup globális változója, hogy minden más módszer ebből a fájlhasználatból. És adja hozzá az előzetesen_signup_form eseményhívást, amelyet a fájl kezdetétől töröltünk.

Funkció Selena_Network_signUp_main () (Global $ Active_signup; do_action ("előzmények_signup_form"); // ...)

Most már csak az elrendezés megváltoztatása minden olyan helyen, ahol szükséges, és a regisztrációs oldal készen áll.

A regisztrációs űrlap kimenete

Itt legalább két lehetőség van. Egy kényelmesebb módja annak, hogy létrehozzunk egy rövid kódot, és helyezze az oldalra a szokásos szerkesztőn keresztül.

// Hálózat_signup add_shortcode shortcode ("Network_signup", "selena_network_signup_main" létrehozása);

A második lehetőség az oldalsó-signup.php oldal létrehozása a lány témájában. A "Regisztráció" szó helyett az oldalhoz rendelt egyedi azonosítót használhatja. A sablon belsejében adja hozzá a szükséges elrendezést, és készítsen egy Selena_Network_signup_main () lehetőséget a megfelelő helyen.

Ennek eredményeként a regisztrációs oldalam sokkal jobb és tisztább volt.

Aktiválási oldal

Alapértelmezés szerint a WordPress konvencionálisan két lépésben a regisztrációs folyamatot két lépésben osztja el - az űrlap kitöltése és a fiók aktiválása, amikor az e-mailben küldött linkre megy. Miután kitöltötte az előző szakaszban létrehozott űrlapot, a WordPress egy kis utasítással és hivatkozással rendelkezik a fiók aktiválására.

Az aktiválási oldal kimenetére a WP-ACTIVATE.PHP fájl a WordPress root könyvtárban található. A WP-ACTIVATE.PHP is teljesen megváltozhat. A folyamat hasonló ahhoz, amit a WP-Signup.php számára már tettünk.

Hozza létre a példa.org/activate / oldalt a normál interfészen keresztül. Címként használja az Ön számára megfelelő URL-t.

Másolja a WP-ATCRATE.PHP fájlt a mu-pluginekre, és csatlakoztassa a mu-pugins / Selena-Network / Signup / Plugin.php-hez.

WPMU_PLUGIN_DIR-t igényel. "/sintena-network/signup/wp-activate.php";

Belül, nem olyan sok tartalom, ellentétben WP-Signup.php. A fájl egyetlen műveletet hajt végre - aktiválja a fiókot, ha a megfelelő kulcsot kapja meg, és hibaüzenetet vagy sikeres működést jelenít meg.

Törölje az összes szükségtelen ellenőrzést, és szükség van - 1-től 69-ig a WordPress 4.1.1-ig. Végül távolítsa el a Get_Footer () hívást. A fennmaradó tartalmat a Selena_Network_Activate_main () funkcióra való átadással.

Érdekes észrevenni, hogy a WP_Installing konstans itt jelentkezett a WordPress (WP-LOAD.PHP) betöltése előtt. Jelenléte okozza a Wordpress-t, hogy ne töltsön be bővítményeket.

Mint a regisztrációs oldal esetében, csak az elrendezést kell javítani, ahol szükséges. Megváltoztathatja a megjelenített üzenetek szövegét is (ebben az esetben ne felejtsük el, hogy a mu-plugins szövegdomént adjunk hozzá minden funkció-fordítóhoz, amelyet máshol nem telepítenek).

A kész funkciót egy előre meghatározott oldalon lehet használni egy rövidzáró vagy egy különálló sablon egy leányvállalatban.

Aktiválási betűk megfelelő referenciákkal

Az aktiválási oldal készen áll a munkára, de a WordPress nem tud róla, és továbbra is aktiváló betűket küld a WP-Activate.php-re. A WP-Signup.phptól eltérően nincs szűrő, amely lehetővé tenné a cím megváltoztatását. Ehelyett meg kell írnia a funkcióját, amely helyes linkekkel küld.

A Regisztrációs oldalon a Regisztrációs oldalon Wordpress hívja a wpmu_signup_ felhasználó.() vagy wpmu_signup_ blog.() A regisztráció típusától függően. Mindkét funkció új bejegyzést hoz létre a WP_SIGNUPS táblázatban, amely kitölti azt a szükséges tartalmakkal, amelyek között van egy fiók aktiválási kulcs.

Miután a funkciótól függően a wpmu_signup_ nevezik felhasználó._Notification () vagy wpmu_signup_ blog._Értesítés (). Mindkét funkció hasonló funkcionalitással rendelkezik - létrehoz egy levelet egy aktiválási referenciával, de különböző érveket készít. Mindkettőben vannak szűrők az események "lehallgatásához".

If (! Apply_filters ( "wpmu_signup_user_notification", $ user, $ user_email, $ key, $ META)) return false;

A blog létrehozása fiókok aktiválása:

Ha ("wpmu_signup_blog_notification", $ domain, $ path, $ cím, $ felhasználó, $ user_email, $ kulcs, $ usera), $ billentyű, $ Meta)) (Return False;)

Csak akkor is meg kell írnia a rakodókat, amelyeken belül leveleket küld a WP_MAIL (), és a végén, ami szükségszerűen hamis, így a WordPress nem küld egy aktiváló levelet kétszer - az egyik a tiéd, egy másik betű alapértelmezés szerint Wp-activate.php.

Funkció Selena_Network_wpmu_signup_user_notification ($ felhasználó, $ user_email, $ billentyű, $ Meta \u003d Array ()) (// Generál egy fejlécet, szöveget és betű fejléceket // ... // küldjön egy levelet, vagy adjon hozzá egy Cron-feladatot, hogy küldjön egy levelet Wp_mail ($ user_email, wp_specialchars_decode ($ Tárgy), $ üzenet, $ üzenet, $ Message_Headers); // FALSE visszanyerése, hogy a WordPress nem küld aktiválási levelet kétszerese hamis;) Add_Filter ("wpmu_signup_uver_notifikáció", "Selena_network_wpmu_signup_user_notifikáció", 10, 4) ;

Ha leveleket küld az SMTP-kiszolgálón keresztül, vagy a regisztrációszám nagyon nagy, akkor azt kell gondolnia, hogy azonnal nem küldi a leveleket. Ehelyett hozzáadhat Cron-feladatokat WordPress Cron használatával.

A WP-Signup.php és a WP-Activate.php közelében található

Miután létrehozta saját regisztrációs és aktiváló oldalait, szükség lehet az "Eredeti adatok" lezárására. Például, ha további mezők vannak a regisztrációs oldalon, amelyet be kell tölteni. Továbbá sok WordPress webhelyet a spam regisztrációknak kell kitéve.

Két probléma megoldása egy műveletsel megkérdezhető az Apache-nak, hogy 404-et adjon meg, ha megpróbálja megnyitni ezeket az oldalakat. Ehhez csak regisztrálnia kell egy pár további újratervezést, amely a konfigurációs fájljához vagy.htaccess fájlhoz kell regisztrálnia.

RewritEngine on Rewritebase / # A rendszeres kifejezések ismerete soha nem lesz felesleges :) Rewriterule ^ wp-signup \\ .php - Rewriteule ^ wp-aktiválja a WP-aktiválja . # Vége WordPress.

Következtetés

Ehhez és sok más "probléma" társított WordPress az interneten sok megoldás létezik. Például regisztrációs és aktiválási oldalak létrehozásához egyesek felajánlják az eredeti WP-Signup.php és WP-Activate.php újratervezését. Ezt nem úgy kell elvégezni, mert abban az esetben a WordPress frissítés, akkor elveszíti minden változás történt a fájlok, és nem tudja, ellenőrizze a integritását a kernel segítségével.

Ha bármilyen addíciót fejleszt, a témákat vagy megoldásokat egy kis időt kell fordítani, hogy megbirkózzon a WordPress belsejében. Számos hasznos hibakeresítő eszköz van erre.

P.S.

A különböző szerepek automatikus hozzárendelése érdekében az új felhasználók a multisite felhasználói menedzsment bővítményt használhatják.

Ha bármilyen kérdése vagy nehézsége van a regisztrációs és aktiválási oldalak létrehozása során a cikk elolvasása után, hagyjon megjegyzést, és válaszolunk.

27.03.2015 27.03.2015

WordPress fejlesztő. Mindent szeret, és új eszközökkel foglalkozik. A Symfony Components architektúrája ihlette.