Registreerumise loendur php rid. Kuidas luua oma registreerimisleht WordPressi mitmesaidis. Aktiveerimiskirjad õigete linkidega

Loome mitme saidi jaoks oma registreerimislehe standardse wp-signup.php asemel.

Tüüpilise WordPressi installi korral väljastab registreerimislehe (sisselogimine, parooli lähtestamine) fail wp-login.php.

  • /wp-login.php – autoriseerimine
  • /wp-login.php?action=register – registreerimine
  • /wp-login.php?action=lostpassword – parooli lähtestamine

Mitme saidi jaoks on failis wp-login.php eraldi tingimused. Seega, kui järgite mitmel saidil linki /wp-login.php?action=register, suunab WordPress ümber lehele /wp-signup.php. Paljud teemad ei muuda lehte eriti atraktiivseks, seega teeme selle ise.

Võrgu peamine sait

Vaikimisi avab WordPress registreerimislehe (wp-signup.php) võrgu põhidomeenil (saidil). Siiski saate oma võrgu iga saidi jaoks teha eraldi registreerimislehe, isegi kui neil on erinevad teemad. Vaatleme juhtumit, kus kõigil võrgu saitidel on oma registreerimisleht, kuid kasutatakse sama teemat ja saidid erinevad ainult keele poolest. Kui kasutate erinevaid teemasid, peate kirjutama rohkem koodi.

Funktsioonid.php?

Ei. Tundub, et seda failinime mainitakse igas WordPressi käsitlevas artiklis. Meie puhul, arvestades, et registreerimisfunktsioon on mõeldud mitme saidi jaoks, on mõttekas lisada see MU pistikprogrammidesse, mis laaditakse mis tahes saidi avamisel.

Lüüriline kõrvalepõige

Väärib märkimist, et MU-pluginad laaditakse enne tavalisi pluginaid ja enne WordPressi tuuma täielikku laadimist, seega võib mõne funktsiooni kutsumine põhjustada PHP-s saatuslikke vigu. Ka sellisel “varajasel” laadimisel on omad eelised. Oletame, et ühegi teema sees ei saa lisada mõningaid toiminguid, mis käivituvad isegi enne, kui teemast fail functions.php laaditakse. Selle näiteks on toimingud Jetpacki pluginast kujul jetpack_module_loaded_related-posts (related-posts on mooduli nimi), mille abil on võimalik jälgida moodulite tegevust Jetpackis. Sellele toimingule ei saa teemafailist “manustada”, kuna toiming on juba käivitatud enne teema laadimist – pistikprogrammid laaditakse enne teemasid. Üldpilti WordPressi laadimisjärjekorrast saab vaadata koodeksi lehel Action Reference.

Faili järjekord

MU pistikprogrammid võivad sisaldada mis tahes arvu faile ja mis tahes struktuuri, mis tundub teile loogiline. Jään millegi sellise hierarhia juurde:

|-mu-plugins |-|-load.php |-|-|-selena-network |-|-|-|-registreeru |-|-|-|-|-plugin.php |-|-|-| -|-... |-|-|-|-jetpack |-|-|-|-|-plugin.php

Fail load.php sisaldab kõiki meie võrgu jaoks vajalikke pluginaid:

// Laadi kõigi lisandmoodulite tõlked load_muplugin_textdomain ("selena_network", "/selena-network/languages/"); // Võrgu registreerimine nõuab WPMU_PLUGIN_DIR . "/selena-network/signup/plugin.php"; // Teised pluginad // nõuavad WPMU_PLUGIN_DIR ...

Selena-võrgu kaustas on salvestatud pistikprogrammide kaustad, millest igaühel on oma plugin.php, mille lisame faili load.php. See annab teile paindlikkuse ja võimaluse asju kiiresti välja ja sisse lülitada.

Registreerimislehe aadress

Registreerimislehe aadressi määramiseks kasutage filtrit wp_signup_location. Selle võib leida failist wp-login.php ja see vastutab ümbersuunamise eest aadressile wp-signup.php.

Case "register" : if (is_multisite()) ( wp_redirect(apply_filters("wp_signup_location", network_site_url("wp-signup.php"))); exit;

Lisame oma funktsiooni failile mu-plugins/selena-network/signup/plugin.php, mis tagastab praeguse saidi registreerimislehe aadressi:

Funktsioon selena_network_signup_page ($url) ( return home_url () . "/signup/"; ) add_filter ( "wp_signup_location", "selena_network_signup_page", 99);

selena_network on eesliide, mida kasutan kokkupõrgete vältimiseks oma saidil kõigi funktsioonide nimedes MU pistikprogrammides. See tuleks asendada teie unikaalse eesliitega. Filtri lisamise prioriteet on 99, kuna mõned pluginad, näiteks bbPress ja BuddyPress, võivad selle aadressi oma aadressiga üle kirjutada (MU pluginad laadivad varem kui tavalised pluginad, vt ülalt). Pange tähele, et kodu_url() kasutatakse network_site_url() asemel, et hoida külastaja samas domeenis. Aadressina saab kasutada mis tahes URL-i.

Lehe loomine

Nüüd loome tavalise liidese kaudu lehe aadressiga site.com/signup/ ja alamteema kaustas on meie uue lehe mall page-signup.php. Sõna "registreerumine" asemel võite kasutada kordumatut ID-d.

Uue malli sees peate kutsuma funktsiooni selena_network_signup_main(), mis kuvab registreerimisvormi.

Väärib märkimist, et kogu malliprotsess on valikuline ja selle asemel saate luua oma lühikoodi, mis kutsub ka funktsiooni selena_network_signup_main().

wp-signup.php ja wp-activate.php

Nüüd loome funktsiooni, mis kuvab registreerimisvormi. Selleks kopeerige failid wp-signup.php ja wp-activate.php WordPressi juurtest kausta mu-plugings/selena-network/signup/ (ja ärge unustage neid mu-plugins/selena-network kaudu ühendada /signup/plugin.php) . Edasisi failidega manipuleerimist on äärmiselt raske ja pikk kirjeldada, nii et peate need ise tegema. Ma lihtsalt kirjeldan, mida täpselt tuleb teha, ja avaldan oma projekti lähtefailid:

  1. Faili algusest eemaldage kõik nõuded , funktsioonikutsed ja muu kood väljaspool funktsioone.
  2. Nimetage kõik funktsioonid ümber, lisades nimedele kordumatud eesliited.
  3. Mähi wp-signup.php koodi alumine osa funktsiooni selena_network_signup_main ja kirjuta kohe alguses globaalne $active_signup; .
  4. Asendage paigutus õigetes kohtades enda omaga.

Wp-activate.php sees peate tegema ligikaudu sama:

  1. Eemaldage kogu kood väljaspool funktsioone, mähkige paigutus eraldi funktsiooniks.
  2. Vajaduse korral muutke paigutust kohtades.

Fail wp-activate.php vastutab konto aktiveerimislehe eest. Nagu registreerimislehe puhul, tuleb ka selle jaoks luua eraldi mall, mille sees tuleb wp-activate.php failist funktsioon välja kutsuda.

Aktiveerimiskirjade saatmine

Registreerimisleht saadab külastajale e-kirja koos lingiga konto aktiveerimiseks. Vaikimisi teeb seda funktsioon wpmu_signup_user_notification() failist ms-functions.php. Saate selle funktsioone oma funktsioonide jaoks laenata. Selle funktsiooni kasutamise vältimise põhjus on see, et see saadab konto aktiveerimise lingi saidilt wp-activate.php. Selle funktsiooni saab “välja lülitada”, kasutades filtrit wpmu_signup_user_notification, tagastades selle valeks (kui seda ei tehta, saadetakse aktiveerimiskiri kaks korda, okei, tegelikult kaks erinevat tähte).

Funktsioon armyofselenagomez_wpmu_signup_user_notification($user, $user_email, $key, $meta = array()) ( // ... // Funktsiooni wpmu_signup_user_notification() kood 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);

Selle tulemusena hakkas Selena-teemaline registreerimisleht palju puhtam ja korralikum välja nägema.

Järeldus

Internetis on palju muid mitte väga õigeid viise sama asja tegemiseks - Apache ümbersuunamised, AJAX-vormid, mis ilma Java Scriptita ei tööta jne. Mulle see kõik ei meeldinud, nii et proovisin seda teha nii õigesti kui võimalik minu enda veebisaidil.

Märgin, et faile tuleks hoolikalt redigeerida ja püüda mitte liiga palju algsetest kõrvale kalduda, et edaspidi, kui WordPress muudab faile wp-signup.php ja wp-activate.php, oleks lihtsam võrrelda. muudatuste leidmiseks.

Ärge unustage vaadata kõigi ülalkirjeldatud funktsioonide lähtekoodi, et täielikult mõista, mis ja kuidas koodi sees toimub.

Boonus. Kaitse rämpsposti saatjate eest

Isegi kõige väiksemaid WordPressi saite vaevavad sageli rämpsposti registreerimised. Botide filtreerimiseks saab kirjutada lõputult tingimusi, sageli pigem tehisintellekti loomise katse :) Multisaidi puhul aitas mind palju Apache'is tavaline ümbersuunamine, mille abil küsisin avamisel 404 / wp-signup.php ja /wp-acitvate.php (ma ei ole Apache seadistamise ekspert, seega ei pruugi mu reeglid väga õiged olla).

RewriteEngine rakenduses RewriteBase / RewriteRule ^wp-signup\.php - RewriteRule ^wp-activate\.php - # WordPressi alustamine # Me ei puuduta vaikimisi WordPressi reegleid :) # ... # WordPressi LÕPP

P.S. Ma üritan võimalikult detailselt kirjeldada mõningaid kolmandate isikute asju, sest alustades polnud vahel kedagi, kes soovitaks ja seletaks paljusid asju. Usun ka, et sellised väikesed näpunäited muude materjalide kohta julgustavad kedagi uut õppima ja oma teadmisi laiendama. RewriteRule kirjed kasutavad regulaaravaldisi, need pole üldse keerulised, näiteks sümbol ^ tähendab rea algust.

Võimaldab kasutada ühte WordPressi installi mitme saidi jaoks korraga. Sel juhul saab iga sait andmebaasis oma tabelid unikaalse eesliitega.

Tabelid registreeritud kasutajate andmetega on ühised kõigile võrgu saitidele. See on kindel pluss ja ühekordse registreerimisega pääsete juurde mitmele saidile. Lisaks võivad igal saidil samal kontol olla erinevad õigused. Näiteks ühel saidil võib kasutaja olla toimetaja ja teisel administraator.

Tüüpilise WordPressi installi korral kuvab fail wp-login.php registreerimise, sisselogimise ja parooli lähtestamise lehe.

  • wp-login.php - autoriseerimine
  • wp-login.php?action=register – registreerimine
  • wp-login.php?action=lostpassword – parooli lähtestamine

Mitme saidi režiimis hakkab WordPressi tuum käituma veidi teisiti ja kui järgite linki wp-login.php?action=register, toimub ümbersuunamine aadressile wp-signup.php. See on teie võrgu registreerimisleht, mis on vaikimisi WordPressiga kaasas.

Lisaks tavakasutajakontode registreerimisele saate sellele luua ka uue veebisaidi, kui superadministraator on selle funktsiooni võrguseadetes lubanud (Network Admin → Settings → Network Settings).

Enamiku teemade puhul ei näe registreerimisleht kuigi hea välja. Paljud teemad kasutavad CSS-i raamistikke, nagu Bootstrap, ja oma kohandatud klasse, et kujundada lehtedel erinevaid elemente, seega on raske kirjutada ühte HTML-i, mis sobiks kõigile.

Kuid ärge heitke meelt, kui leht tundub korrastamata. Fail wp-signup.php on alguses suurepärane asi, kui teil pole aega saidi iga detaili läbi töötada – saate keskenduda muudele olulisematele lehtedele ja sisule.

Kui olete valmis oma registreerumislehte looma, on wp-signup.php hea näide, mis aitab teil mõista WordPressi pakutavaid funktsioone kasutaja sisendi töötlemiseks ja kinnitamiseks ning uute kontode loomiseks.

Võrgu peamine sait

Vaikimisi avab WordPress registreerimislehe (wp-signup.php) võrgu põhidomeenil (saidil). Siiski saate luua registreerimislehti iga võrgu saidi jaoks, isegi kui neil on teemad.

Vaatleme juhtumit, kui kõik võrgu saidid kasutavad sama teemat, kuid igal neist on registreerimisleht. Saidid erinevad keele poolest (inglise ja vene keeles), seega kuvatakse registreerimisleht saidi emakeeles. Kui saidid kasutavad erinevaid teemasid, oleneb kõik sellest, mis teemadega need on, kas neile sobib sama paigutus (suurepärane olukord, mis võib sundida kõiki teemasid ühtlustama) või tasub lehti eraldi arendada.

Funktsioonide.php alternatiiv

Faili järjekord

MU pistikprogrammid võivad sisaldada mis tahes arvu faile ja struktuuri, mis tundub teile loogiline. Jään millegi sellise hierarhia juurde:

| mu-pluginad | | load.php | | selena-võrk | | | registreerumine | | | | plugin.php | | | ... | | | jetpack | | | | plugin.php

Fail load.php sisaldab tõlkeid ja kõiki vajalikke pluginaid:

// MU-pluginate tõlgete laadimine load_muplugin_textdomain("selena_network", "/selena-network/languages/"); // Registreerimislehe funktsionaalsus nõuab WPMU_PLUGIN_DIR . "/selena-network/signup/plugin.php"; // Teine plugin // nõuab WPMU_PLUGIN_DIR ...

Pluginate kaustad salvestatakse selena-võrgu kataloogi. Igal neist on oma plugin.php, mille lisame faili load.php. See annab teile paindlikkuse ja võimaluse tööprojekti üksikuid komponente hädaolukorras kohe välja ja sisse lülitada.

Registreerimisleht

Olles välja mõelnud, kuhu ja kuidas koodi kirjutame, saame edasi liikuda registreerimislehe loomise juurde.

Loome tavalise liidese kaudu lehe aadressiga example.org/signup/. Võite kasutada mis tahes URL-i, mis tundub teie projekti jaoks sobiv.

Suunake nõutavale registreerimislehele

Selleks, et WordPress saaks meie uue registreerimislehega tutvuda ja täpselt sinna suunata, kasutatakse lingil “Registreeri” klõpsates filtrit wp_signup_location. Selle võib leida failist wp-login.php ja see vastutab vaikimisi saidile wp-signup.php ümbersuunamise eest.

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

Nagu mäletate, avaneb registreerimisleht vaikimisi võrgu põhidomeenis. See on põhjus, miks siin kasutatakse network_site_url().

Lisame oma töötleja mu-plugins/selena-network/signup/plugin.php filtrisse, mis tagastab praeguse saidi registreerimislehe aadressi:

Funktsioon selena_network_signup_page($url) ( return home_url("registreerumine"); ) add_filter("wp_signup_location", "selena_network_signup_page", 99);

selena_network on eesliide, mida kasutan kokkupõrgete vältimiseks oma saidil kõigi funktsioonide nimedes MU pistikprogrammides. See tuleks asendada teie unikaalse eesliitega. Filtri lisamise prioriteet on 99, kuna mõned pluginad, näiteks bbPress ja BuddyPress, võivad selle aadressi oma aadressiga üle kirjutada (MU pluginad laadivad varem kui tavalised pluginad, vt ülalt).

Pange tähele, et kasutatakse home_url(), mis erinevalt network_site_url() tagastab praeguse saidi aadressi, mitte võrgu peamise saidi aadressi.

Funktsionaalsus wp-signup.php

Fail wp-signup.php sisaldab suurt hulka funktsioone ja koodi. Suure pildi nägemiseks võite kasutada koodi voltimist. Reeglina nimetatakse seda inglise keeles koodi voltimiseks.

Päris faili alguses, ridadest 1 kuni 80 (versioonis 4.1.1), tehakse erinevaid kontrolle ja lehe “algus” väljastatakse käsuga get_header() .

Järgmisena deklareeritakse palju meetodeid ja enne nendega töötamist tasub mõista, mida iga funktsioon teeb. Paljud neist kasutavad sageli muid funktsioone koos eesliitega wpmu_, mis kõik on deklareeritud failis wp-includes/ms-functions.php. Seda jaotist on koodi ise nägemata raske mõista. Allpool on peamiste funktsioonide lühikirjeldus juhuks, kui teil tekib raskusi.

  • wpmu_signup_stylesheet() – väljastab registreerimislehel täiendava CSS-i.
  • show_blog_form() - saidi registreerimise väljad (aadress, nimi, nähtavus otsingumootorite jaoks).
  • validate_blog_form() – kinnitab sisestatud saidi aadressi ja pealkirja, kasutades wpmu_validate_blog_signup() .
  • show_user_form() - väljad kasutaja registreerimiseks (sisselogimine ja meiliaadress).
  • validate_user_form() — sisestatud sisselogimise ja meiliaadressi kontrollimine. e-post kasutades wpmu_validate_user_signup() .
  • signup_another_blog() - väljad uute saitide registreerimiseks kasutades show_blog_form() kasutajatele, kes on saidil juba registreerunud.
  • validate_another_blog_signup() – kontrollib saidi aadressi ja pealkirja kasutades validate_blog_form() .
  • signup_user() on registreerimislehe väljade kuvamise põhifunktsioon.
  • validate_user_signup() – kontrollib sisselogimist ja meiliaadressi. e-post kasutades validate_user_form() .
  • signup_blog() - väljad saidi aadressi, nime ja nähtavuse sisestamiseks (teine ​​registreerimise samm) kasutades show_blog_form() .
  • validate_blog_signup() - kontrollib sisselogimist, meiliaadressi. email, aadress ja veebisaidi nimi.

Wp-signup.php faili päris allosas (alates reast 646 versioonis 4.1.1) on registreerimislehe põhiloogika, mis kasutab kõiki ülalkirjeldatud meetodeid. See osa koodist ei sisaldu funktsioonis. Lõpus kutsutakse get_footer().

Kopeerige faili wp-signup.php funktsionaalsus

Järgnevalt kirjeldatakse protseduuri, kuidas kopeerida wp-signup.php MU-pluginatesse ja teha muudatusi kahvlis. See ei pruugi tunduda parim viis. Selle asemel saate kirjutada oma funktsioone nullist, et kinnitada ja kuvada vorme, kasutades tavalisi funktsioone asemel klasse. Minu meelest on wp-signup.php-l juba kogu meie lehele vajalik loogika olemas, jääb üle vaid mõned väikesed muudatused teha.

WordPressi värskendamisel muutub aeg-ajalt ka wp-signup.php, kuid see ei tähenda, et peate oma "kahvlit" iga väljalaskega sünkroonima. Wp-signup.php sees olevad funktsioonid käsitlevad sisuliselt ainult HTML-i väljundit, andmete kontrollimist, kontode ja saitide loomist ning ms-functions.php-s deklareeritud wpmu_ prefiksiga meetodeid.

Loome funktsiooni, mis kuvab lehel registreerimisvormi. Selleks kopeeri wp-signup.php WordPressi juurkataloogist mu-plugings/selena-network/signup/ . Ühendame selle sees mu-plugins/selena-network/signup/plugin.php).

Nõua WPMU_PLUGIN_DIR . "/selena-network/signup/wp-signup.php";

Eemaldame kõik nõutavad ja mittevajalikud kontrollid kopeeritud faili algusest peale. Versioonis 4.1.1 on see kogu kood ridadest 1 kuni 80.

Nüüd oleme valmis looma põhifunktsiooni registreerimisvormi kuvamiseks. Selleks viime kogu loogika realt 646 faili päris lõpuni üle funktsiooni nimega selena_network_signup_main. Kõige lõpus eemaldame kaks täiendavat sulgemist

(read 722 ja 723), aga ka get_footer() kutse.

Äsja loodud selena_network_signup_main() deklareerime kohe alguses globaalse active_signup muutuja, mida kasutavad kõik muud selle faili meetodid. Ja lisame kõne sündmusele before_signup_form, mille eemaldasime faili algusest peale.

Funktsioon selena_network_signup_main() ( globaalne $active_signup; do_action("before_signup_form"); // ... )

Nüüd ei jää muud üle, kui kõikides kohtades, kus see vajalik, paigutust muuta ja registreerimisleht ongi valmis.

Registreerimisvormi väljund

Siin on vähemalt kaks võimalust. Mugavam viis on luua lühikood ja asetada see tavalise redaktori kaudu lehele.

// Loo lühikood network_signup add_shortcode("network_signup", "selena_network_signup_main");

Teine võimalus on luua oma lapseteema kaustas page-signup.php lehe mall. Sõna "registreerumine" asemel võite kasutada lehele määratud kordumatut ID-d. Malli sees lisage vajalik paigutus ja kutsuge õigesse kohta selena_network_signup_main().

Selle tulemusena nägi minu registreerimisleht palju parem ja puhtam.

Aktiveerimisleht

Vaikimisi jagab WordPress registreerimisprotsessi Multisite'iks kaheks etapiks – saidil ankeedi täitmine ja oma konto aktiveerimine, klõpsates meilis saadetud lingil. Pärast eelmises jaotises loodud vormi täitmist saadab WordPress meili lühikeste juhiste ja lingiga teie konto aktiveerimiseks.

Aktiveerimislehe kuvamise eest vastutab WordPressi juurkataloogis asuv fail wp-activate.php. wp-activate.php saab ka täielikult muuta. Protsess on sarnane sellele, mida me juba tegime faili wp-signup.php jaoks.

Loome tavalise liidese kaudu lehe example.org/activate/. Kasutage aadressi jaoks mis tahes URL-i, mis tundub teile sobiv.

Kopeerime faili wp-activate.php oma MU pluginatesse ja ühendame selle failiga mu-plugins/selena-network/signup/plugin.php.

Nõua WPMU_PLUGIN_DIR . "/selena-network/signup/wp-activate.php";

Erinevalt wp-signup.php-st pole palju sisu sees. Fail sooritab ühe toimingu – õige võtme saamisel aktiveerib konto ja kuvab teate vea või toimingu eduka lõpetamise kohta.

Eemaldame kõik mittevajalikud kontrollid ja nõuded – WordPressis 4.1.1 ridadest 1 kuni 69. Päris lõpus eemaldame väljakutse get_footer(). Ülejäänud sisu edastame funktsiooni selena_network_activate_main().

Huvitav on märkida, et siin deklareeriti enne WordPressi (wp-load.php) laadimist konstant WP_INSTALLING. Selle olemasolu tõttu ei laadi WordPress pistikprogramme.

Nagu ka registreerimislehe puhul, jääb üle vaid küljendust vajadusel korrigeerida. Samuti saate muuta kuvatavate sõnumite tekste (sel juhul ärge unustage lisada oma MU-pluginate tekstidomeeni kõikidesse tõlkija funktsioonidesse; vaikimisi pole seda kuhugi installitud).

Valmisfunktsiooni saab kasutada eelnevalt loodud lehel läbi lühikoodi või eraldi malli alamteemas.

Aktiveerimiskirjad õigete linkidega

Aktiveerimisleht on kasutamiseks valmis, kuid WordPress ei tea sellest ja saadab endiselt aktiveerimismeile lingiga aadressile wp-activate.php. Erinevalt wp-signup.php-st puudub filter, mis võimaldaks aadressi muuta. Selle asemel peate kirjutama oma funktsiooni, mis saadab õigete linkidega e-kirju.

Kui täidate ja esitate registreerimislehel vormi, helistab WordPress wpmu_signup_ kasutaja() või wpmu_signup_ ajaveebi() olenevalt registreerimistüübist. Mõlemad funktsioonid loovad tabelisse wp_signups uue kirje, täites selle vajaliku sisuga, mis sisaldab konto aktiveerimisvõtit.

Seejärel kutsutakse olenevalt funktsioonist wpmu_signup_ kasutaja _notification() või wpmu_signup_ ajaveebi _notification() . Mõlemal funktsioonil on sarnane funktsionaalsus – need genereerivad ja saadavad meili koos aktiveerimislingiga, kuid võtavad erinevaid argumente. Mõlemal on filtrid sündmuse pealtkuulamiseks.

If (! apply_filters("wpmu_signup_user_notification", $kasutaja, $kasutaja_e-post, $võti, $meta)) tagastab vale;

Kontode aktiveerimiseks ajaveebi loomisega tehke järgmist.

If (! apply_filters("wpmu_signup_blog_notification", $domeen, $tee, $pealkiri, $kasutaja, $kasutaja_e-post, $võti, $meta)) ( return false; )

Jääb üle vaid kirjutada oma töötlejad, mille sees saata kirju wp_mail() kaudu ja päris lõpus kindlasti tagastada false, et WordPress ei saadaks kaks korda aktiveerimiskirja - üks on sinu, teine ​​on vaikimisi kiri lingiga aadressile wp-activate.php .

Funktsioon selena_network_wpmu_signup_user_notification($user, $user_email, $key, $meta = array()) ( // Loo päis, tekst ja tähe päised // ... // Saatke kiri või lisage Croni ülesanne, et saata kiri wp_mail($user_email , wp_specialchars_decode($subject), $message, $message_headers // Sisestage false, et WordPress ei saadaks aktiveerimismeili kaks korda return false("wpmu_signup_user_notification", "selena_network_wpmu,_notification"); ;

Kui saadate e-kirju SMTP-serveri kaudu või registreerimiste arv on väga suur, peaksite kaaluma, et e-kirju ei saada koheselt. Selle asemel saate Croni ülesandeid lisada WordPress Croni abil.

Sulgeme juurdepääsu aadressidele wp-signup.php ja wp-activate.php

Pärast oma registreerimis- ja aktiveerimislehtede loomist võite soovida "originaalid" sulgeda. Näiteks kui registreerimislehel on täiendavad väljad, mis tuleb täita. Samuti on paljudel WordPressi saitidel rämpsposti registreerimine.

Saate ühe toiminguga lahendada kaks probleemi, kui palute Apache'il tagastada 404, kui proovite neid lehti avada. Selleks peate lihtsalt oma konfiguratsioonifaili või .htaccess'i lisama paar täiendavat RewriteRules'i.

RewriteEngine RewriteBase'is / # Regulaaravaldiste tundmine ei lähe kunagi üleliigseks :) RewriteRule ^wp-signup\.php - RewriteRule ^wp-activate\.php - # BEGIN WordPress # Me ei puuduta WordPressi reegleid vaikimisi :) # .. # LÕPETA WordPress

Järeldus

Sellele ja paljudele teistele WordPressi "probleemidele" on Internetis palju lahendusi. Näiteks registreerimis- ja aktiveerimislehtede loomiseks soovitavad mõned algsed wp-signup.php ja wp-activate.php ümber kirjutada. Seda ei tohiks teha, sest WordPressi uuendamisel kaotate kõik failides tehtud muudatused ning samuti ei saa te tuuma terviklikkust kontrollida kasutades .

Mis tahes lisandmooduli, teema või lahenduse väljatöötamisel peaksite kulutama veidi aega, et mõista, mis WordPressis toimub. Selleks on palju kasulikke silumistööriistu.

P.S.

Uutele kasutajatele erinevate rollide automaatseks määramiseks võite kasutada mitme saidi kasutajahalduse pistikprogrammi.

Kui teil on pärast artikli lugemist registreerimis- ja aktiveerimislehtede loomisel küsimusi või raskusi, jätke kommentaar ja me vastame kindlasti.

27.03.2015 27.03.2015

WordPressi arendaja. Armastab korda kõiges ja mõistab uusi tööriistu. Inspireeritud Symfony komponentarhitektuurist.

  • Viimase paari aasta jooksul on veebimajutus läbi teinud dramaatilised muutused. Veebimajutusteenused on muutnud veebisaitide toimimist. Teenused on mitut tüüpi, kuid täna räägime edasimüüjate hostimise pakkujate jaoks saadaolevatest võimalustest. Need on Linuxi edasimüüjate hostimine ja Windowsi edasimüüjate hostimine. Enne kui mõistame nende kahe põhimõttelisi erinevusi, uurime välja, mis on edasimüüja hostimine.

    Edasimüüjate hostimine

    Lihtsamalt öeldes on edasimüüja hostimine veebimajutuse vorm, kus konto omanik saab kasutada oma kõvakettaruumi ja eraldatud ribalaiust, et müüa edasi kolmandate osapoolte veebisaitidele. Mõnikord võib edasimüüja rentida hostimisettevõttelt (Linux või Windows) spetsiaalse serveri ja lasta selle edasi kolmandatele isikutele.

    Enamik veebisaidi kasutajaid on kas Linuxi või Windowsiga. See on seotud tööajaga. Mõlemad platvormid tagavad, et teie veebisait on üleval 99% ajast.

    1. Kohandamine

    Üks peamisi erinevusi Linuxi edasimüüja hostimisplaani ja Windowsi pakutava vahel on kohandamine. Kuigi saate mõlema mängijaga katsetada mitmel viisil, on Linux palju paremini kohandatav kui Windows. Viimasel on funktsioone rohkem kui selle analoogil ja seetõttu peavad paljud arendajad ja administraatorid Linuxi väga kliendisõbralikuks.

    2. Rakendused

    Erinevatel edasimüüjate hostimisteenustel on erinevad rakendused. Mõlemal Linuxil ja Windowsil on oma rakenduste hulk, kuid viimasel on eelised numbrite ja mitmekülgsuse osas. See on seotud Linuxi avatud lähtekoodiga olemusega. Iga arendaja saab oma rakenduse Linuxi platvormile üles laadida ja see muudab selle miljonite veebisaitide omanike jaoks atraktiivseks hostimisteenuse pakkujaks.

    Pange tähele, et kui kasutate veebimajutamiseks Linuxit, kuid kasutate samal ajal Windowsi operatsioonisüsteemi, ei pruugi mõned rakendused lihtsalt töötada.

    3. Stabiilsus

    Kuigi mõlemad platvormid on stabiilsed, on Linuxi edasimüüjate hostimine neist kahest stabiilsem. Kuna see on avatud lähtekoodiga platvorm, võib see töötada mitmes keskkonnas. Seda platvormi saab aeg-ajalt muuta ja arendada.

    4. .NET-i ühilduvus

    Asi pole selles, et Linux on Windowsist igal võimalikul viisil parem. NET-i ühilduvuse osas on Windows rambivalguses. Veebirakendusi saab hõlpsasti arendada Windowsi hostimisplatvormil.

    5. Kulueelised

    Mõlemad hostimisplatvormid on taskukohased. Kuid kui teil on rahapuudus, peaksite valima Linuxi. See on tasuta ja seetõttu on seda valinud nii paljud arendajad ja süsteemiadministraatorid üle kogu maailma.

    6. Seadistamise lihtsus

    Windowsi on lihtsam seadistada kui selle analoogi. Kõik öeldud ja tehtud, säilitab Windows endiselt kasutajasõbralikkuse kõik need aastad.

    7.Turvalisus

    Valige Linuxi edasimüüja hostimine, kuna see on turvalisem kui Windows. See kehtib eriti inimeste kohta, kes juhivad oma e-kaubanduse ettevõtteid.

    Järeldus

    Nende kahe vahel valiminesõltub teie vajadustest ja kulude paindlikkusest. Mõlemal hostimisteenusel on ainulaadsed eelised. Kuigi Windowsi on lihtne seadistada, on Linux kulutõhus, turvaline ja mitmekülgsem.



    Veel selle aasta märtsis oli mul väga halb kogemus meediaettevõttega, kes keeldus mulle maksmast ja mu meilidele vastamast. Nad on mulle endiselt tuhandeid dollareid võlgu ja raev, mis mul on, tungib iga päev läbi. Selgub, et ma pole siiski üksi ja samas paadis on sajad teised veebisaidiomanikud. See on digitaalse reklaamiga samaväärne kursus.

    Ausalt öeldes on mul see ajaveeb olnud pikka aega ja ma olen varem erinevates reklaamivõrgustikes ringi liikunud. Pärast reklaamiüksuste eemaldamist sellelt ettevõttelt, kes mind karmistas, olin tagasi alguses. Peaksin ka märkima, et Mulle ei meeldinud kunagi Google AdSense'i toode, vaid sellepärast, et see tundub displeireklaamide "tünni põhjana" mitte kvaliteedi, vaid tulude seisukohast.

    Nagu ma aru saan, tahate oma saidil Google'i reklaamimist, kuid soovite, et seda teeksid ka teised suured ettevõtted ja agentuurid. Nii maksimeerite nõudlust ja tulu.

    Pärast oma negatiivset kogemust sain soovitada ettevõtet nimega Newor Media. Ja kui ma aus olen, siis ei müüdud mind alguses peamiselt seetõttu, et ma ei leidnud nende kohta palju teavet. Leidsin paar korralikku arvustust teistelt saitidelt ja pärast kellegagi rääkimist otsustasin proovida. Ma ütlen, et nad on SUPER abivalmid.

    Olen reklaame esitanud paar kuud ja tulud on ligikaudu kooskõlas sellega, mida teenisin teises ettevõttes. Nii et ma ei saa öelda, kas need on teistest palju paremad, aga kus nad silma paistavad on punkt, mida ma tõesti tahan rõhutada. Nendega suhtlemine erineb kõigist teistest võrkudest, kus ma sellega kunagi töötanud olen. Siin on juhtum, kus nad on tõesti erinevad:

    Nad lükkasid mulle Paypaliga õigeaegselt esimese makse. Kuid kuna ma ei ela USA-s (ja see juhtub kõigiga, keda ma arvan), võeti Paypalilt tasu. Saatsin selle kohta oma esindajale meili, küsides, kas on võimalik seda tulevikus vältida.

    Nad ütlesid, et nad ei saa tasu vältida, aga et nad KÕIK TASUD HÜVIKSID.... KA KÕIGE VIIMASE MAKSEMISE! Vähe sellest, hüvitise maksmine laekus 10 MINUTI jooksul! Millal olete kunagi saanud sellist päringut esitada, ilma et oleksite pidanud "rahandusosakonda" edastama, et siis mitte kunagi vastata.

    Lõpptulemus on see, et ma armastan seda ettevõtet. Võib-olla saan kuskil mujal rohkem teenida, ma pole päris kindel, kuid neil on minuga eluks ajaks kirjastaja. Ma ei ole tohutu sait ega teeni palju tulu, kuid tunnen end väga oluline klient, kui ma nendega räägin. See on ausalt öeldes värske õhu sõõm tööstuses, mis on küps pettustest ja reageerimisvõimetusest.

    Raspberry Pi Foundationi 2012. aastal loodud mikroarvutid on olnud väga edukad väikelastes loovuse suurendamisel ja see Ühendkuningriigis asuv ettevõte hakkas pakkuma kodeerima õppimise käivitamise programme, nagu pi-top ja Kano. Nüüd on uus käivitusettevõte, mis kasutab Pi elektroonikat, ja seadet tuntakse kui Pipi, pihuarvutit, millel on puuteekraan, mitu porti, juhtnuppe ja kõlareid. Seadme idee on kaasata nooremaid inimesi retromänguseadmega, mis pakub veebipõhise platvormi kaudu ka koodi õppimise kogemust.

    Pipiga pakutav hämmastav tarkvaraplatvorm pakub võimalust alustada kodeerimist Pythonis, HTML/CSS-is, JavaScriptis, Luas ja PHP-s. Seade pakub samm-sammult õpetusi, mis aitavad lastel kodeerimisega alustada, ja võimaldab neil isegi LED-tulesid vilkuma panna. Kuigi Pip on endiselt prototüüp, on see tööstuses kindlasti tohutu hitt ja haarab kaasa lapsed, kes tunnevad huvi kodeerimise vastu, ning pakub neile haridust ja ressursse, mis on vajalikud kodeerimise alustamiseks noores eas.

    Kodeerimise tulevik

    Kodeerimisel on suur tulevik ja isegi kui lapsed ei kasuta kodeerimist karjäärina, võivad nad selle uue seadmega, mis muudab selle lihtsamaks kui kunagi varem, kodeerimise õppimisest kasu. Pipi abil õpivad isegi kõige nooremad kodeerimishuvilised erinevaid keeli ning on juba valmis looma oma koode, mänge, rakendusi ja palju muud. See on elektroonikaajastu tulevik ja Pip võimaldab omandada kodeerimise põhilised ehitusplokid.
    Arvutiteadus on muutunud hariduse oluliseks osaks ja selliste seadmetega nagu uus Pip, saavad lapsed oma kodus õppimist täiendada ja lõbutseda. Kodeerimine läheb palju kaugemale lihtsalt veebisaitide või tarkvara loomisest. Seda saab kasutada ohutuse suurendamiseks linnas, abistamiseks meditsiiniuuringutes ja palju muud. Kuna me elame praegu maailmas, kus domineerib tarkvara, on kodeerimine tulevik ja on oluline, et kõik lapsed saaksid vähemalt algteadmisi selle toimimisest, isegi kui nad ei kasuta neid oskusi kunagi karjäärina. Tulevikus on kodeerimine igapäevaelu oluline komponent. See on maailma keel ja arvutite või nende tööpõhimõtete mittetundmine võib tekitada probleeme, millest on sama raske üle saada kui kirjaoskamatus.
    Kodeerimine toob kaasa ka suuri muudatusi mängumaailmas, eriti mis puudutab võrgumänge, sealhulgas juurdepääsu online-kasiinodele. Et näha, kuidas kodeerimine on mängumaailma juba täiustanud, vaadake mõnda kõrgeima reitinguga kasiinosaiti, mis tuginevad kodeerimisele. Vaadake seda kiiresti ja vaadake, kuidas kodeerimine võib võrgus realistlikku keskkonda esitada.

    Kuidas Pip lapsi kaasab

    Kui rääkida võimalusest õppida kodeerimist, on lastel palju võimalusi. On mitmeid seadmeid ja riistvaralisi seadmeid, mida saab osta, kuid Pip läheneb oma seadmele erinevalt. Seadme ja puuteekraani kaasaskantavus pakuvad eeliseid teistele turul olevatele kodeerimisseadmetele. Pip ühildub lisaks Raspberry Pi HAT süsteemile täielikult ka elektrooniliste komponentidega. Seade kasutab standardkeeli ja sellel on põhitööriistad ning see on ideaalne seade igale algajale kodeerijale. Eesmärk on eemaldada kõik takistused idee ja loomingu vahel ning teha tööriistad koheselt kasutamiseks kättesaadavaks. Pipi üks suur eelis on see, et see kasutab SD-kaarti, mistõttu saab seda kasutada ka lauaarvutina, kui see on ühendatud monitori ja hiirega.
    Pip-seade aitaks lastel ja huvitatud kodeerijatel entusiastlikult kodeerimist õppida ja harjutada. Pakkudes kombinatsiooni ülesannete täitmisest ja probleemide lahendamiseks nokitsemisest, haarab seade kindlasti kaasa ka noorema põlvkonna. Seejärel võimaldab seade nendel noortel kodeerijatel liikuda erinevates keeltes, nagu JavaScript ja HTML/CSS, kõrgema taseme kodeerimisele. Kuna seade kordab mängukonsooli, köidab see kohe laste tähelepanu ja köidab neid juba noores eas kodeerimise tundmaõppimiseks. Kaasas on ka mõned eellaaditud mängud, mis hoiavad tähelepanu, näiteks Pac-Man ja Minecraft.

    Tulevased uuendused

    Tulevane innovatsioon sõltub suuresti lapse praegusest kodeerimisvõimest ja üldisest arusaamisest protsessist. Kuna lapsed õpivad varakult kodeerima, kasutades selliseid seadmeid nagu uus Pip, omandavad nad oskused ja teadmised, et tulevikus imelisi asju luua. See võib olla uute mängude või rakenduste tutvustamine või isegi ideed, mis võivad ellu tulla, et aidata meditsiinilisi uuringuid ja ravi. Võimalusi on lõputult. Kuna meie tulevikku juhivad tarkvara ja arvutid, on noorelt alustamine parim viis, mistõttu on uus Pip suunatud noortele. Pakkudes konsooliseadet, millega saab mängida mänge, õpetades samal ajal kodeerimisoskusi, on noored ühiskonnaliikmed heas suunas, et olla tulevikus meie kõigi elusid muutva tarkvara loojad. See on alles algus, kuid see on midagi, mida miljonid lapsed üle kogu maailma hakkavad õppima ja omandama. Kasutades selliseid seadmeid nagu Pip, kaetakse kodeerimise põhitõed ja lapsed õpivad kiiresti selgeks erinevad kodeerimiskeeled, mis võivad täiskasvanuikka jõudes hämmastavatele radadele juhtida.