Otthon » Gomba pácolás » Nem bizonyított regisztrációs php rid. Hogyan hozzunk létre egyéni regisztrációs oldalt a WordPress Multisite szolgáltatásban

Nem bizonyított regisztrációs php rid. Hogyan hozzunk létre egyéni regisztrációs oldalt a WordPress Multisite szolgáltatásban

Lehetővé teszi egy WordPress-telepítés használatát több webhelyhez egyidejűleg. Ebben az esetben minden webhely saját táblákat kap az adatbázisban egyedi előtaggal.

A regisztrált felhasználók adatait tartalmazó táblázatok a hálózat összes webhelyén közösek. Ez határozott plusz, és egyszeri regisztrációval több oldalhoz is hozzáférhet. Ezenkívül minden webhelyen ugyanaz a fiók különböző jogosultságokkal rendelkezhet. Például az egyik oldalon a felhasználó lehet szerkesztő, a másikon pedig rendszergazda.

A WordPress tipikus telepítése során a wp-login.php fájl a regisztrációs, bejelentkezési és jelszó-visszaállítási oldalt jeleníti meg.

  • wp-login.php - engedélyezés
  • wp-login.php?action=register - regisztráció
  • wp-login.php?action=lostpassword - jelszó visszaállítása

Több webhely módban a WordPress magja kissé eltérően kezd viselkedni, és ha követi a wp-login.php?action=register hivatkozást, átirányítás történik a wp-signup.php webhelyre. Ez az Ön hálózati regisztrációs oldala, amely alapértelmezés szerint a WordPresshez tartozik.

A normál felhasználói fiókok regisztrációja mellett új webhelyet is létrehozhat rajta, ha a kiemelt rendszergazda engedélyezte ezt a funkciót a hálózati beállításokban (Hálózati adminisztráció → Beállítások → Hálózati beállítások).

A legtöbb témában a regisztrációs oldal nem néz ki túl jól. Sok téma CSS-keretrendszereket, például a Bootstrap-et és saját egyéni osztályait használja az oldalak különböző elemeinek stílusához, így nehéz egyetlen HTML-kódot írni, amely mindenkinek megfelel.

De ne essen kétségbe, ha az oldal rendezetlennek tűnik. A wp-signup.php fájl elsőre nagyszerű dolog, amikor nincs ideje az oldal minden részletét végigdolgozni – más fontosabb oldalakra és tartalmakra koncentrálhat.

Ha készen áll a saját regisztrációs oldal létrehozására, a wp-signup.php egy jó sablon és példa arra, hogy könnyen megértse a WordPress által a felhasználói bemenetek feldolgozásához és ellenőrzéséhez, valamint új fiókok létrehozásához nyújtott funkciókat.

A hálózat fő oldala

Alapértelmezés szerint a WordPress megnyitja a regisztrációs oldalt (wp-signup.php) a hálózat fő domainjén (webhelyén). Azonban létrehozhat regisztrációs oldalakat a hálózat minden egyes webhelyéhez, még akkor is, ha vannak témái.

Megvizsgáljuk azt az esetet, amikor a hálózat összes webhelye ugyanazt a témát használja, de mindegyik rendelkezik regisztrációs oldallal. Az oldalak nyelve eltérő (angol és orosz), így a regisztrációs oldal az oldal „anyanyelvén” jelenik meg. Ha az oldalak különböző témákat használnak, akkor minden azon múlik, hogy pontosan melyek ezek a témák, vajon ugyanaz az elrendezés illik-e hozzájuk (kiváló helyzet, ami arra késztet, hogy az összes témát egységesítse), vagy érdemes-e az oldalakon külön-külön dolgozni.

A functions.php alternatívája

Fájlsorrend

Az MU beépülő modulok tetszőleges számú fájlt és logikusnak tűnő struktúrát tartalmazhatnak. Valami ehhez hasonló hierarchiához ragaszkodom:

| mu-plugins | | load.php | | selena-network | | | regisztráció | | | | plugin.php | | | ... | | | jetpack | | | | plugin.php

A load.php fájl tartalmazza a fordításokat és az összes szükséges „plugint”:

// Fordítások betöltése MU-bővítményekhez load_muplugin_textdomain("selena_network", "/selena-network/languages/"); // A regisztrációs oldal működéséhez WPMU_PLUGIN_DIR szükséges. "/selena-network/signup/plugin.php"; // Egy másik bővítmény // WPMU_PLUGIN_DIR szükséges ...

A beépülő modulok mappái a selena-network könyvtárban vannak tárolva. Mindegyiknek megvan a saját plugin.php-je, amit a load.php-be is belefoglalunk. Ez rugalmasságot és lehetőséget biztosít a munkaprojekt egyes összetevőinek azonnali ki- és bekapcsolására vészhelyzet esetén.

Regisztrációs oldal

Miután kitaláltuk, hol és hogyan írjuk meg a kódot, továbbléphetünk a regisztrációs oldal létrehozásához.

Hozzunk létre egy oldalt example.org/signup/ címmel a normál felületen keresztül. Bármilyen URL-t használhat, amely megfelelőnek tűnik a projektje számára.

Átirányítás a kívánt regisztrációs oldalra

Annak érdekében, hogy a WordPress megismerje új regisztrációs oldalunkat, és pontosan oda irányítson, a „Regisztráció” linkre kattintva a wp_signup_location szűrőt használjuk. A wp-login.php fájlban található, és alapértelmezés szerint felelős a wp-signup.php webhelyre történő átirányításért.

Case "register" : if (is_multisite()) ( wp_redirect(apply_filters("wp_signup_location", network_site_url("wp-signup.php"))); kilépés; // ...

Mint emlékszik, alapértelmezés szerint a regisztrációs oldal a hálózat fő tartományában nyílik meg. Ezért van itt a network_site_url() használatos.

Adjuk hozzá a kezelőnket a mu-plugins/selena-network/signup/plugin.php szűrőhöz, amely visszaadja a regisztrációs oldal címét az aktuális oldalon:

Függvény selena_network_signup_page($url) ( return home_url("regisztráció"); ) add_filter("wp_signup_location", "selena_network_signup_page", 99);

A selena_network az az előtag, amelyet a webhelyemen lévő MU-bővítményeken belüli összes függvény nevében használok az ütközések elkerülése érdekében. Ezt a saját egyedi előtagjával kell helyettesíteni. A szűrő hozzáadásának prioritása 99, mivel egyes pluginok, például a bbPress és a BuddyPress felülírhatják ezt a címet a sajátjaikkal (az MU bővítmények korábban töltődnek be, mint a hagyományos pluginek, lásd fent).

Kérjük, vegye figyelembe, hogy a home_url() függvényt használja, amely a network_site_url(-től eltérően) az aktuális webhely címét adja vissza, nem pedig a hálózat fő webhelyét.

Funkcionalitás wp-signup.php

A wp-signup.php fájl nagyszámú függvényt és kódot tartalmaz. A teljes kép megtekintéséhez használhatja a kódhajtogatást. Általános szabály, hogy angolul ezt „kódhajtogatásnak” hívják.

A fájl legelején, 1-től 80-ig (a 4.1.1-es verzióban) különféle ellenőrzéseket hajtanak végre, és az oldal „kezdetét” a get_header() segítségével adja ki.

Ezután számos módszert deklarálnak, és mielőtt elkezdenénk velük dolgozni, érdemes megérteni, hogy az egyes függvények mit csinálnak. Sokan gyakran használnak más függvényeket a wpmu_ előtaggal, amelyek mindegyike a wp-includes/ms-functions.php fájlban van deklarálva. Ezt a részt nehéz megérteni anélkül, hogy maga látná a kódot. Az alábbiakban a fő funkciók rövid leírása található, ha nehézségei adódnának.

  • wpmu_signup_stylesheet() – További CSS-t ad ki a regisztrációs oldalon.
  • show_blog_form() - mezők a webhely regisztrációjához (cím, név, láthatóság a keresők számára).
  • validate_blog_form() - a wpmu_validate_blog_signup() segítségével ellenőrzi a megadott webhelycímet és címet.
  • show_user_form() - mezők a felhasználói regisztrációhoz (bejelentkezés és e-mail cím).
  • validate_user_form() — a megadott bejelentkezési név és e-mail cím ellenőrzése. küldje el a wpmu_validate_user_signup() segítségével.
  • signup_another_blog() - mezők új webhelyek regisztrálásához a show_blog_form() használatával azon felhasználók számára, akik már regisztráltak az oldalon.
  • validate_another_blog_signup() - ellenőrzi a webhely címét és címét a validate_blog_form() segítségével.
  • A signup_user() a fő funkció a regisztrációs oldal mezőinek megjelenítéséhez.
  • validate_user_signup() - ellenőrzi a bejelentkezést és az e-mail címet. küldje el a validate_user_form() segítségével.
  • 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() segítségével.
  • validate_blog_signup() - ellenőrzi a bejelentkezést, az e-mail címet. e-mail cím, cím és weboldal neve.

A wp-signup.php fájl legalján (a 4.1.1-es verzió 646-os sorától) található a regisztrációs oldal fő logikája, amely az összes fent leírt módszert használja. A kódnak ez a része nem szerepel a függvényben. A végén a get_footer() meghívásra kerül.

Másolja a wp-signup.php funkcióit

Az alábbiakban leírjuk a wp-signup.php MU-bővítményekbe másolásának és a „fork” módosításának az eljárását. Lehet, hogy ez nem a legjobb út. Ehelyett saját függvényeket írhat a semmiből, hogy érvényesítse és megjelenítse az űrlapokat osztályok használatával, nem pedig normál függvényekkel. Véleményem szerint a wp-signup.php már minden szükséges logikával rendelkezik oldalunkhoz, már csak néhány apró változtatás van hátra.

A WordPress frissítésekor a wp-signup.php is időről időre változik, de ez nem jelenti azt, hogy minden kiadással szinkronizálnod kell a „villát”. A wp-signup.php-n belüli függvények lényegében csak a HTML-kimenettel, adatellenőrzéssel, fiókok és webhelyek létrehozásával foglalkoznak, valamint az ms-functions.php-ben deklarált wpmu_ előtagú metódusok.

Hozzon létre egy függvényt, amely megjeleníti a regisztrációs űrlapot az oldalon. Ehhez másolja a wp-signup.php fájlt a WordPress gyökérkönyvtárából a mu-plugings/selena-network/signup/ mappába. Csatlakoztassuk a mu-plugins/selena-network/signup/plugin.php-n belül.

WPMU_PLUGIN_DIR szükséges. "/selena-network/signup/wp-signup.php";

Távolítsunk el minden szükséges és szükségtelen ellenőrzést a másolt fájl legelejétől. A 4.1.1-es verzióban ez az összes kód az 1-től a 80-as sorig.

Most készen állunk a fő funkció létrehozására a regisztrációs űrlap megjelenítéséhez. Ehhez az összes logikát a 646-os sortól a fájl legvégéig átvisszük a selena_network_signup_main nevű függvénybe. A legvégén eltávolítunk két extra zárást

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

Az újonnan létrehozott selena_network_signup_main()-ben a legelején deklaráljuk a globális active_signup változót, amelyet az összes többi metódus használ ebből a fájlból. És adjunk hozzá egy hívást a before_signup_form eseményhez, amelyet a fájl legelejétől távolítottunk el.

Függvény selena_network_signup_main() ( globális $active_signup; do_action("before_signup_form"); // ... )

Most már csak az elrendezést kell megváltoztatni 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. Kényelmesebb módja egy rövid kód létrehozása és az oldalra való elhelyezése egy normál szerkesztőn keresztül.

// Hozzon létre egy rövid kódot network_signup add_shortcode("network_signup", "selena_network_signup_main");

A második lehetőség a page-signup.php oldalsablon létrehozása a gyermektéma mappájában. A "regisztráció" szó helyett használhatja az oldalhoz rendelt egyedi azonosítót. A sablonon belül adja hozzá a szükséges elrendezést, és hívja meg a selena_network_signup_main() parancsot a megfelelő helyen.

Ennek eredményeként a regisztrációs oldalam sokkal jobban és tisztábbnak tűnt.

Aktiválási oldal

Alapértelmezés szerint a WordPress a regisztrációs folyamatot a Multisite-re két lépésre bontja: kitölt egy űrlapot az oldalon, és aktiválja a fiókját az e-mailben küldött linkre kattintva. Miután kitöltötte az előző részben létrehozott űrlapot, a WordPress e-mailt küld rövid utasításokkal és egy linkkel a fiók aktiválásához.

A WordPress gyökérkönyvtárában található wp-activate.php fájl felelős az aktiválási oldal megjelenítéséért. A wp-activate.php is teljesen megváltoztatható. A folyamat hasonló ahhoz, amit a wp-signup.php esetében már megtettünk.

Hozzuk létre az example.org/activate/ oldalt a normál felületen keresztül. A címként bármilyen olyan URL-t használjon, amely megfelelőnek tűnik.

Másoljuk a wp-activate.php fájlt a MU beépülő moduljainkba, és csatlakoztassuk a mu-plugins/selena-network/signup/plugin.php fájlhoz.

WPMU_PLUGIN_DIR szükséges. "/selena-network/signup/wp-activate.php";

A wp-signup.php-vel ellentétben nem sok tartalom van benne. A fájl egyetlen műveletet hajt végre - aktiválja a fiókot, ha a megfelelő kulcs érkezik, és üzenetet jelenít meg a hibáról vagy a művelet sikeres befejezéséről.

Távolítsunk el minden szükségtelen ellenőrzést és követelményt – a WordPress 4.1.1-es verziójában az 1-től a 69-ig. A legvégén eltávolítjuk a get_footer() hívást. A fennmaradó tartalmat átvisszük a selena_network_activate_main() függvénybe.

Érdekes megjegyezni, hogy itt a WordPress (wp-load.php) betöltése előtt deklarálták a WP_INSTALLING állandót. Jelenléte miatt a WordPress nem tölt be bővítményeket.

A regisztrációs oldalhoz hasonlóan itt is csak az elrendezést kell javítani, ahol szükséges. A megjelenített üzenetek szövegét is módosíthatja (ebben az esetben ne felejtse el hozzáadni a MU-bővítmények szövegtartományát az összes fordítói funkcióhoz; alapértelmezés szerint nincs telepítve sehova).

Az elkészült függvény használható egy előre elkészített oldalon rövid kódon vagy külön sablonon keresztül gyermektémában.

Aktiváló levelek megfelelő hivatkozásokkal

Az aktiváló oldal készen áll, de a WordPress nem tud róla, és továbbra is küld aktiválási e-maileket a wp-activate.php hivatkozással. A wp-signup.php-vel ellentétben nincs olyan szűrő, amely lehetővé tenné a cím megváltoztatását. Ehelyett meg kell írnia egy saját funkcióját, amely e-maileket küld a megfelelő hivatkozásokkal.

Amikor kitölti és elküldi az űrlapot a regisztrációs oldalon, a WordPress felhívja a wpmu_signup_ felhasználó() vagy wpmu_signup_ blog() a regisztráció típusától függően. Mindkét függvény új bejegyzést hoz létre a wp_signups táblában, kitöltve azt a szükséges tartalommal, amely tartalmazza a fiók aktiváló kulcsát.

Ezt követően a függvénytől függően a wpmu_signup_ meghívódik felhasználó _notification() vagy wpmu_signup_ blog _notification() . Mindkét funkciónak hasonló a funkcionalitása – generál és küld egy aktiváló linket tartalmazó e-mailt, de eltérő argumentumokat vesz fel. Mindkettő rendelkezik szűrővel az esemény „elfogásához”.

If (! apply_filters("wpmu_signup_user_notification", $felhasználó, $felhasználói_e-mail, $kulcs, $meta)) hamis értéket ad vissza;

Fiókok aktiválása blog létrehozásával:

If (! apply_filters("wpmu_signup_blog_notification", $domain, $elérési út, $cím, $felhasználó, $felhasználói_e-mail, $kulcs, $meta)) ( return false; )

Nem marad más hátra, mint megírni a saját kezelőket, amelyeken belül wp_mail() -en keresztül küldenek leveleket, és a legvégén mindenképpen false-t adj vissza, hogy a WordPress ne küldjön kétszer aktiváló levelet - az egyik a tiéd, a másik az alapértelmezett levél a wp-activate.php hivatkozással.

Függvény selena_network_wpmu_signup_user_notification($user, $user_email, $key, $meta = array()) ( // A levél fejlécének, szövegének és fejlécének előállítása // ... // Küldje el a levelet, vagy adjon hozzá egy Cron feladatot a letter wp_mail($user_email , wp_specialchars_decode($subject), $message, $message_headers // Adja meg a false értéket, hogy a WordPress ne küldje el kétszer az aktiváló e-mailt return add_filter("wpmu_signup_user_notification", "selena_network_us1er,_notification"); ;

Ha SMTP-kiszolgálón keresztül küld e-maileket, vagy a regisztrációk száma nagyon magas, érdemes megfontolni, hogy ne küldjön azonnali e-mailt. Ehelyett Cron-feladatokat adhat hozzá a WordPress Cron segítségével.

Lezárjuk a hozzáférést a wp-signup.php és a wp-activate.php fájlokhoz

A saját regisztrációs és aktiválási oldalak létrehozása után érdemes bezárni az "eredetiket". Például, ha a regisztrációs oldalon további mezők vannak, amelyeket ki kell tölteni. Ezenkívül sok WordPress-webhelyre vonatkozik a spam-regisztráció.

Két problémát megoldhat egy művelettel, ha megkéri az Apache-t, hogy adjon vissza egy 404-et, ha megpróbálja megnyitni ezeket az oldalakat. Ehhez csak néhány további RewriteRule-t kell hozzáadnia a konfigurációs fájlhoz vagy a .htaccess fájlhoz.

RewriteEngine on RewriteBase / # A reguláris kifejezések ismerete soha nem lesz felesleges :) RewriteRule ^wp-signup\.php - RewriteRule ^wp-activate\.php - # WordPress KEZDÉS # Alapértelmezés szerint nem érintjük a WordPress szabályokat :) # .. # VÉGE WordPress

Következtetés

Erre és sok más WordPress „problémára” számos megoldás létezik az interneten. Például a regisztrációs és aktiválási oldalak létrehozásához egyesek javasolják az eredeti wp-signup.php és wp-activate.php átírását. Ezt nem szabad megtenni, mert ha frissíted a WordPress-t, akkor a fájlokon végrehajtott összes módosítás elveszik, és a mag integritását sem tudod ellenőrizni a segítségével.

Ha bármilyen kiegészítőt, témát vagy megoldást fejleszt, szánjon egy kis időt arra, hogy megértse, mi történik a WordPress belsejében. Ehhez számos hasznos hibakereső eszköz létezik.

P.S.

Ha különböző szerepköröket szeretne automatikusan hozzárendelni az új felhasználókhoz, használja a Multisite User Management beépülő modult.

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, írjon megjegyzést, és biztosan válaszolunk.

27.03.2015 27.03.2015

WordPress fejlesztő. Mindenben szereti a rendet és az új eszközök megértését. A Symfony komponens architektúrája ihlette.

  • Az elmúlt néhány évben a webtárhely drámai változáson ment keresztül. A webtárhely-szolgáltatások megváltoztatták a webhelyek teljesítményét. Számos szolgáltatás létezik, de ma a viszonteladói tárhelyszolgáltatók számára elérhető lehetőségekről fogunk beszélni. Ezek a Linux viszonteladói tárhely és a Windows viszonteladói tárhely. Mielőtt megértenénk a kettő közötti alapvető különbségeket, nézzük meg, mi az a viszonteladói tárhely.

    Viszonteladói tárhely

    Egyszerűen fogalmazva, a viszonteladói tárhely a webtárhely egy olyan formája, ahol a fióktulajdonos felhasználhatja dedikált merevlemez-területét és a kijelölt sávszélességet harmadik felek webhelyein történő viszonteladás céljából. Néha a viszonteladó bérbe vehet egy dedikált szervert egy hosting cégtől (Linux vagy Windows), és továbbadhatja harmadik félnek.

    A legtöbb webhelyet használó Linux vagy Windows operációs rendszert használ. Ennek az üzemidőhöz van köze. Mindkét platform biztosítja, hogy webhelye az esetek 99%-ában fent legyen.

    1.Testreszabás

    Az egyik fő különbség a Linux viszonteladói tárhelyterv és a Windows által biztosított között a testreszabás. Bár többféle módon kísérletezhet mindkét lejátszóval, a Linux sokkal testreszabhatóbb, mint a Windows. Ez utóbbi több funkcióval rendelkezik, mint társa, és ezért sok fejlesztő és rendszergazda nagyon ügyfélbarátnak találja a Linuxot.

    2. Alkalmazások

    A különböző viszonteladói tárhelyszolgáltatások eltérő alkalmazásokkal rendelkeznek. A Linuxnak és a Windowsnak is megvan a maga alkalmazási tömbje, de az utóbbi előnyt jelent a számok és a sokoldalúság terén. Ennek köze van a Linux nyílt forráskódú természetéhez. Bármely fejlesztő feltöltheti alkalmazását a Linux platformra, és ez vonzó tárhelyszolgáltatóvá teszi több millió webhelytulajdonos számára.

    Azonban vegye figyelembe, hogy ha Linuxot használ webtárhelyként, ugyanakkor Windows operációs rendszert használ, előfordulhat, hogy egyes alkalmazások egyszerűen nem működnek.

    3.Stabilitás

    Bár mindkét platform stabil, a Linux viszonteladói tárhely a kettő közül stabilabb. Nyílt forráskódú platformként több környezetben is működhet. Ez a platform időnként módosítható, fejleszthető.

    4. .NET kompatibilitás

    Nem arról van szó, hogy a Linux minden lehetséges módon jobb, mint a Windows. Ha a .NET-kompatibilitásról van szó, a Windows ellopja a rivaldafényt. Webes alkalmazások könnyen fejleszthetők Windows hosting platformon.

    5. Költségelőnyök

    Mindkét hosting platform megfizethető. De ha úgy érzi, pénzhiány, akkor válassza a Linuxot. Ingyenes, és ezért választja olyan sok fejlesztő és rendszergazda szerte a világon.

    6. Könnyű beállítás

    A Windows beállítása könnyebb, mint a megfelelője. Mindent összevetve a Windows még mindig megőrzi felhasználóbarát jellegét ezekben az években.

    7. Biztonság

    Válaszd a Linux viszonteladói tárhelyet, mert az biztonságosabb, mint a Windows. Ez különösen igaz azokra az emberekre, akik e-kereskedelmi vállalkozásukat vezetik.

    Következtetés

    Választás a kettő közöttaz Ön igényeitől és a költségrugalmasságtól függ. Mindkét hosting szolgáltatásnak egyedi előnyei vannak. Míg a Windows telepítése egyszerű, a Linux költséghatékony, biztonságos és sokoldalúbb.



    Még idén márciusban volt egy nagyon rossz tapasztalatom egy médiacéggel, amely nem volt hajlandó fizetni nekem és válaszolni az e-mailjeimre. Még mindig több ezer dollárral tartoznak nekem, és a düh érzése átjár minden nap. Kiderült azonban, hogy nem vagyok egyedül, és több száz másik webhelytulajdonos is ugyanabban a csónakban van. Ez egyfajta kurzus a digitális reklámozással.

    Őszintén szólva, régóta van ez a blogom, és a múltban különböző hirdetési hálózatokon ugráltam. Miután eltávolítottam a hirdetési egységeket attól a cégtől, amely megmerevített, visszatértem az elsőhöz. Azt is meg kell jegyeznem, hogy Soha nem szerettem a Google AdSense termékét, csak azért, mert a vizuális hirdetések „hordójának alja” nem minőségi, hanem bevételi szempontból.

    Ha jól értem, Ön azt szeretné, hogy a Google hirdetései megjelenjenek a webhelyén, de más nagy cégek és ügynökségek is ezt szeretnének tenni. Így maximalizálja a keresletet és a bevételt.

    Negatív tapasztalataim után a Newor Media nevű céget ajánlottam. És ha őszinte akarok lenni, eleinte főleg azért nem adtak el, mert nem találtam róluk sok információt. Találtam pár tisztességes véleményt más oldalakon, és miután beszéltem valakivel, úgy döntöttem, hogy kipróbálom. Azt kell mondanom, hogy SZUPER segítőkészek. Minden hálózat, amellyel valaha is dolgoztam, elég rövid volt a válaszok és az indulás szempontjából.

    Néhány hónapja futtatom a hirdetéseket, és a bevételek nagyjából megegyeznek azzal, amit a másik cégnél kerestem. Szóval nem igazán tudom megmondani, hogy sokkal jobbak-e, mint mások, de hogy hol tűnnek ki ez az a pont, amire nagyon szeretnék rávilágítani. A velük folytatott kommunikáció nem olyan, mint bármely más hálózat, amelyen valaha is dolgoztam. Itt van egy eset, amikor valóban különböznek:

    Időben tolták nekem az első fizetést Paypallal. De mivel nem vagyok az Egyesült Államokban (és ez szerintem mindenkivel megtörténik), ezért a Paypaltól levontak egy díjat. E-mailt küldtem a képviselőmnek, és megkérdeztem, van-e mód ennek elkerülésére a jövőben.

    Azt mondták, hogy nem kerülhetik el a díjat, hanem hogy MINDEN DÍJOT VISSZAFIZETENEK.... A LEGÚJABB FIZETÉSÉT IS IS! Nem csak ez, de a költségtérítés 10 PERCEN belül megérkezett! Mikor volt már képes ilyen kérést benyújtani anélkül, hogy a „pénzügyi osztályra” kellett volna küldenie, hogy aztán soha ne válaszoljanak rá.

    A lényeg az, hogy szeretem ezt a társaságot. Lehetséges, hogy máshol többet tudnék készíteni, nem igazán vagyok benne biztos, de van egy kiadójuk egy életre. Nem vagyok egy hatalmas oldal, és nem termelek sok bevételt, de úgy érzem, nagyon fontos ügyfél, amikor beszélek velük, ez egy leheletnyi friss levegő egy olyan iparágban, amely megérett a csalásra és a nem reagálásra.

    A Raspberry Pi Alapítvány által 2012-ben megalkotott mikroszámítógépek rendkívül sikeresek voltak a kisgyermekek kreativitásának felkeltésében, és ez az egyesült királyságbeli székhelyű vállalat olyan programokat kezdett kínálni, amelyek megtanulják a kódolást, mint például a pi-top és a Kano. Most van egy új startup, amely a Pi elektronikát használja, és az eszköz Pip néven ismert, egy kézi konzol, amely érintőképernyőt, több portot, vezérlőgombokat és hangszórókat kínál. Az eszköz mögött az az ötlet, hogy a fiatalabb egyéneket bevonja egy retro játékeszközzel, amely egy webalapú platformon keresztül kódtanulási élményt is kínál.

    A Pip mellett kínált csodálatos szoftverplatform lehetőséget kínál arra, hogy elkezdjük a kódolást Python, HTML/CSS, JavaScript, Lua és PHP nyelveken. Az eszköz lépésenkénti oktatóanyagokat kínál, amelyek segítségével a gyerekek elkezdhetik a kódolást, és lehetővé teszi számukra, hogy még LED-eket is villogtassanak. Bár a Pip még egy prototípus, minden bizonnyal óriási siker lesz az iparágban, és bevonja a kódolás iránt érdeklődő gyerekeket, és biztosítja számukra a szükséges oktatást és erőforrásokat ahhoz, hogy fiatalon elkezdhessék a kódolást.

    A kódolás jövője

    A kódolás nagy jövő előtt áll, és még ha a gyerekek nem is karrierként használják a kódolást, akkor is hasznot húzhatnak abból, ha megtanulják a kódolást ezzel az új eszközzel, amely minden eddiginél egyszerűbbé teszi a kódolást. A Pip segítségével még a legfiatalabb kódolásrajongók is megtanulhatnak különböző nyelveket, és jó úton haladnak a saját kódok, saját játékok, saját alkalmazások és egyebek létrehozása felé. Ez az elektronikus korszak jövője, és a Pip lehetővé teszi a kódolás alapvető építőelemeinek elsajátítását.
    A számítástechnika az oktatás fontos részévé vált, és az olyan eszközökkel, mint az új Pip, a gyerekek otthoni, szórakozás közben fejleszthetik oktatásukat. A kódolás messze túlmutat a webhelyek vagy szoftverek egyszerű létrehozásán. Használható a város biztonságának növelésére, az orvosi kutatások segítésére és még sok másra. Mivel ma egy olyan világban élünk, amelyet a szoftverek uralnak, a kódolás a jövő, és fontos, hogy minden gyermek legalább alapvető ismeretekkel rendelkezzen a működéséről, még akkor is, ha soha nem használja ezeket a készségeket karrierként. A jövő szempontjából a kódolás a mindennapi élet kritikus eleme lesz. Ez lesz a világ nyelve, és a számítógépek vagy azok működésének nem ismerete ugyanolyan nehezen leküzdhető kihívásokat jelenthet, mint az analfabéta.
    A kódolás a játékvilágban is jelentős változásokat fog hozni, különösen ami az online szerencsejátékot illeti, beleértve az online kaszinókhoz való hozzáférést is. Ha látni szeretné, hogy a kódolás miként javította már a játékvilágot, vessen egy pillantást néhány legjobban értékelt kaszinóoldalra, amelyek kódolásra támaszkodnak. Vessen egy pillantást, és nézze meg, hogy a kódolás hogyan tud valósághű online környezetet bemutatni.

    Hogyan köti le Pip a gyerekeket

    Amikor a kódolás elsajátításának lehetőségéről van szó, a gyerekeknek sok lehetőségük van. Számos eszköz és hardver-gizmos megvásárolható, de Pip más megközelítést alkalmaz az eszközükhöz. Az eszköz és az érintőképernyő hordozhatósága előnyt jelent a piacon lévő többi kódolóeszközhöz képest. A Pip a Raspberry Pi HAT rendszeren kívül teljes mértékben kompatibilis lesz az elektronikus alkatrészekkel is. A készülék szabványos nyelveket használ és alapvető eszközökkel rendelkezik, és tökéletes eszköz minden kezdő kódoló számára. A cél az, hogy minden akadályt elhárítsunk az ötlet és az alkotás között, és az eszközöket azonnal használhatóvá tegyük. A Pip másik nagy előnye, hogy SD kártyát használ, így monitorhoz és egérhez csatlakoztatva asztali számítógépként is használható.
    A Pip eszköz segíti a gyerekeket és az érdeklődő kezdő kódolókat, akik lelkesedéssel tanulnak és gyakorolhatnak kódolást. Azáltal, hogy a feladatvégzés és a problémák megoldására való trükközés kombinációját kínálja, az eszköz minden bizonnyal leköti a fiatalabb generációt. Az eszköz ezután lehetővé teszi ezeknek a fiatal kódolóknak, hogy fejlettebb kódolási szintekre lépjenek különböző nyelveken, mint például a JavaScript és a HTML/CSS. Mivel az eszköz egy játékkonzolt reprodukál, azonnal leköti a gyerekek figyelmét, és arra készteti őket, hogy fiatalon megtanulják a kódolást. Néhány előre feltöltött játék is tartozik hozzá, hogy megőrizze a figyelmet, mint például a Pac-Man és a Minecraft.

    Jönnek az innovációk

    A jövőbeli innováció nagymértékben függ a gyermek jelenlegi kódolási képességétől és a folyamat általános megértésétől. Ahogy a gyerekek korán megtanulnak kódolni olyan eszközök használatával, mint az új Pip, elsajátítják azokat a készségeket és ismereteket, amelyekkel a jövőben csodálatos dolgokat hozhatnak létre. Ez lehet új játékok vagy alkalmazások bevezetése, vagy akár olyan ötletek, amelyek életre kelhetnek az orvosi kutatások és kezelések elősegítésére. A lehetőségek végtelenek. Mivel a jövőnket a szoftverek és a számítógépek irányítják, fiatalon kezdeni a legjobb út, ezért az új Pip a fiatalok számára készült. Azáltal, hogy olyan konzoleszközt kínálunk, amely képes játszani, miközben kódolási készségeket tanít, a társadalom fiatal tagjai jó úton haladnak afelé, hogy a jövőben olyan szoftverek készítőivé váljanak, amelyek mindannyiunk életét megváltoztatják. Ez még csak a kezdet, de ezt gyerekek milliói kezdik el megtanulni és elsajátítani szerte a világon. Az olyan eszközök használatával, mint a Pip, lefedik a kódolás alapjait, és a gyerekek gyorsan megtanulják a különböző kódolási nyelveket, amelyek elképesztő utakra vezethetnek a felnőttkorba lépve.

    A szabványos wp-signup.php helyett saját regisztrációs oldalt hozunk létre egy multisite számára.

    Egy tipikus WordPress telepítésben a regisztrációs oldalt (bejelentkezés, jelszó visszaállítása) a wp-login.php fájl adja ki.

    • /wp-login.php - engedélyezés
    • /wp-login.php?action=register - regisztráció
    • /wp-login.php?action=lostpassword - jelszó visszaállítása

    A wp-login.php fájlban külön feltételek vannak a több helyhez. Tehát, ha követi a /wp-login.php?action=register hivatkozást egy több webhelyen, a WordPress átirányítja a /wp-signup.php oldalra. Sok téma nem teszi igazán vonzóvá az oldalt, ezért elkészítjük a sajátunkat.

    A hálózat fő oldala

    Alapértelmezés szerint a WordPress megnyitja a regisztrációs oldalt (wp-signup.php) a hálózat fő domainjén (webhelyén). Azonban létrehozhat egy külön regisztrációs oldalt a hálózat minden egyes webhelyéhez, még akkor is, ha azok eltérő témájúak. Megvizsgáljuk azt az esetet, amikor a hálózat minden oldalának van saját regisztrációs oldala, de ugyanazt a témát használják, és a webhelyek csak nyelvükben különböznek egymástól. Ha különböző témákat használ, több kódot kell írnia.

    functions.php?

    Nem. Úgy tűnik, ez a fájlnév minden WordPress-ről szóló cikkben szerepel. Esetünkben, tekintettel arra, hogy a regisztrációs funkcionalitást több webhelyre tervezték, célszerű beépíteni az MU bővítményekbe, amelyek betöltődnek bármely webhely megnyitásakor.

    Lírai kitérő

    Érdemes megjegyezni, hogy az MU-bővítmények a normál beépülő modulok előtt és a WordPress mag teljes betöltése előtt töltődnek be, így egyes függvények meghívása végzetes hibákhoz vezethet a PHP-ben. Az ilyen „korai” berakodásnak is megvannak a maga előnyei. Például egyetlen témán belül sem kapcsolódhat bizonyos műveletekhez, amelyek még azelőtt indulnak el, hogy a functions.php fájl betöltődik a témából. Példa erre a Jetpack beépülő modul jetpack_module_loaded_related-posts (a kapcsolódó-posts a modul neve) formátumú műveletei, amelyek segítségével figyelhető a Jetpack modulok aktivitása. Ehhez a művelethez nem lehet „csatolni” a témafájlból, mert a művelet már a téma betöltése előtt elindult – a bővítmények a témák előtt töltődnek be. A WordPress betöltési sorrendjének általános képét a kódexben található Műveletreferencia oldalon tekintheti meg.

    Fájlsorrend

    Az MU bővítmények tetszőleges számú fájlt és bármilyen struktúrát tartalmazhatnak, amely logikusnak tűnik. Valami ehhez hasonló hierarchiához ragaszkodom:

    |-mu-plugins |-|-load.php |-|-|-selena-network |-|-|-|-regisztráció |-|-|-|-|-plugin.php |-|-|-| -|-... |-|-|-|-jetpack |-|-|-|-|-plugin.php

    A load.php fájl tartalmazza a hálózatunkhoz szükséges összes „plugint”:

    // Fordítások betöltése az összes kiegészítőhöz load_muplugin_textdomain ("selena_network", "/selena-network/languages/"); // A hálózati regisztrációhoz WPMU_PLUGIN_DIR szükséges. "/selena-network/signup/plugin.php"; // Más bővítményekhez // WPMU_PLUGIN_DIR szükséges ...

    A selena-network mappán belül a beépülő modulok mappái vannak tárolva, mindegyiknek saját plugin.php-je van, amelyet a load.php-ben is tartalmazunk. Ez rugalmasságot és lehetőséget biztosít a dolgok gyors ki- és bekapcsolására.

    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ájlban található, és felelős a wp-signup.php fájlra való átirányításért.

    Case "register" : if (is_multisite()) ( wp_redirect(apply_filters("wp_signup_location", network_site_url("wp-signup.php"))); kilépés;

    Adjuk hozzá a függvényünket a mu-plugins/selena-network/signup/plugin.php fájlhoz, amely visszaadja a regisztrációs oldal címét az aktuális oldalon:

    Függvény selena_network_signup_page ($url) ( return home_url () . "/signup/"; ) add_filter ( "wp_signup_location", "selena_network_signup_page", 99);

    A selena_network az az előtag, amelyet a webhelyemen lévő MU-bővítményeken belüli összes függvény nevében használok az ütközések elkerülése érdekében. Ezt a saját egyedi előtagjával kell helyettesíteni. A szűrő hozzáadásának prioritása 99, mivel egyes pluginek, például a bbPress és a BuddyPress felülírhatják ezt a címet a sajátjaikkal (az MU beépülő modulok korábban töltődnek be, mint a hagyományos bővítmények, lásd fent). Ne feledje, hogy a network_site_url() helyett a home_url() függvényt használjuk, hogy a látogató ugyanabban a tartományban maradjon. Bármely URL használható címként.

    Oldal létrehozása

    Most hozzunk létre egy oldalt site.com/signup/ címmel a normál felületen keresztül, és a gyermektéma mappában az új oldalunk sablonja a page-signup.php. A „regisztráció” szó helyett egyedi azonosítót is használhat.

    Az új sablonon belül meg kell hívni a selena_network_signup_main() függvényt, amely megjeleníti a regisztrációs űrlapot.

    Érdemes megjegyezni, hogy a teljes sablonfolyamat nem kötelező, és ehelyett létrehozhat saját rövid kódot, amely a selena_network_signup_main() függvényt is meghívja.

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

    Most hozzunk létre egy függvényt, amely megjeleníti a regisztrációs űrlapot. Ehhez másolja a wp-signup.php és wp-activate.php fájlokat a WordPress gyökérkönyvtárából a mu-plugings/selena-network/signup/ mappába (és ne felejtse el a mu-plugins/selena-network-en belül csatlakoztatni őket /signup/plugin.php) . A fájlokkal végzett további manipulációkat rendkívül nehéz és hosszú leírni, ezért ezeket magának kell elvégeznie. Csak leírom, hogy pontosan mit kell tenni, és közzéteszem a projektem forrásfájljait:

    1. A fájl elejéről távolítson el minden követelményt, függvényhívást és egyéb, a függvényeken kívüli kódot.
    2. Nevezze át az összes függvényt egyedi előtagok hozzáadásával a nevekhez.
    3. Csomagolja be a wp-signup.php kód alsó részét a selena_network_signup_main függvénybe, és a legelején írjon globális $active_signup; .
    4. Cserélje ki az elrendezést sajátjára a megfelelő helyeken.

    A wp-activate.php fájlon belül nagyjából ugyanezt kell tennie:

    1. Távolítson el minden kódot a függvényeken kívül, csomagolja be az elrendezést egy külön függvénybe.
    2. Ahol szükséges, változtassa meg az elrendezést.

    A wp-activate.php fájl felelős a fiókaktiválási oldalért. A regisztrációs oldalhoz hasonlóan ehhez is külön sablont kell készíteni, amelyen belül a wp-activate.php fájlból kell meghívni a függvényt.

    Aktiváló levelek küldése

    A regisztrációs oldal e-mailt küld a látogatónak a fiók aktiválásához szükséges linkkel. Alapértelmezés szerint ezt az ms-functions.php fájl wpmu_signup_user_notification() függvénye teszi meg. Funkcióit kölcsönözheti saját funkciójához. Ennek a funkciónak az elkerülésének oka, hogy elküldi a fiókaktiválási hivatkozást a wp-activate.php webhelyről. Ezt a funkciót a wpmu_signup_user_notification szűrővel lehet „kikapcsolni”, false értéket adva vissza (ha ez nem történik meg, az aktiváló levél kétszer kerül elküldésre, oké, valójában két különböző betű).

    Függvény armyofselenagomez_wpmu_signup_user_notification($user, $user_email, $key, $meta = array()) ( // ... // A wpmu_signup_user_notification() függvény kódja wp_mail($user_email, wp_specialchars_decode($subjecters), $ssage_subjecters), ; return false ) add_filter("wpmu_signup_user_notification", "armyofselenagomez_wpmu_signup_user_notification", 10, 4);

    Ennek eredményeként a Selena téma regisztrációs oldala sokkal tisztábbnak és rendezettebbnek tűnt.

    Következtetés

    Az interneten sok más, nem túl helyes módszer létezik ugyanerre - Apache átirányítások, AJAX űrlapok, amelyek nem működnek Java Script nélkül stb. Nem igazán tetszett ez az egész, ezért megpróbáltam olyan helyesen csinálni, mint saját weboldalamon lehetséges.

    Megjegyzem, óvatosan szerkessze a fájlokat, és próbáljon meg túlságosan eltérni az eredetitől, hogy a jövőben, ha a WordPress módosítja a wp-signup.php és a wp-activate.php fájlokat, könnyebben összehasonlítható legyen. egymással, hogy változásokat találjanak.

    Ne felejtse el megnézni az összes fent leírt függvény forráskódját, hogy teljes mértékben megértse, mi és hogyan történik a kódban.

    Bónusz. Védelem a spammerek ellen

    Még a legkisebb WordPress webhelyeket is gyakran sújtja a spam regisztráció. A botok szűrésére végtelen feltételeket lehet írni, sokszor inkább mesterséges intelligencia létrehozására tett kísérlet :) Multisite esetén sokat segített az Apache rendszeres átirányítása, aminek segítségével nyitáskor kértem egy 404-et / wp-signup.php és /wp-acitvate.php (nem vagyok szakértő az Apache beállításában, ezért lehet, hogy a szabályaim nem túl helyesek).

    RewriteEngine on RewriteBase / RewriteRule ^wp-signup\.php - RewriteRule ^wp-activate\.php - # WordPress KEZDÉSE # Alapértelmezés szerint nem érintjük a WordPress szabályait :) # ... # WordPress VÉGE

    P.S. Igyekszem minél részletesebben leírni néhány harmadik féltől származó dolgot, mert amikor elkezdtem, néha nem volt, aki sok mindent javasoljon és elmagyarázzon. Azt is hiszem, hogy az ilyen apró tippek más anyagokkal kapcsolatban arra ösztönöznek valakit, hogy valami újat tanuljon, és bővítse tudásterületét. A RewriteRule bejegyzések reguláris kifejezéseket használnak, egyáltalán nem bonyolultak, például a ^ szimbólum egy sor elejét jelenti.



    Előző cikk: Következő cikk:

  • © 2015 .
    Az oldalról | Kapcsolatok
    | Webhelytérkép