Jak opravit WordPress, který neposílá problém s e-mailem

(Tuto otázku jsem původně položil na webapps.stackexchange.com.)

Ve výchozím nastavení, když v Drupalu poskytneme formulář „nastavit nové heslo“, formulář požádá o uživatelské jméno webu nebo e-mailovou adresu. Pokud uživatel uvede buď uživatelské jméno nebo e-mailovou adresu přidruženou k platnému účtu, obdrží e-mail (na této adrese) s odkazem, který mu umožní nastavit nové heslo.

Chtěli bychom zajistit, aby všichni naši uživatelé používali aktuální e-mailovou adresu, a proto bychom se rádi obrátili vypnuto možnost zadat uživatelské jméno. Když uživatel zadá uživatelské jméno, může odeslat zprávu na starou e-mailovou adresu, ale uživateli vrátit zprávu „Posíláme vám e-mail“. Pokud zadají e-mailovou adresu, kterou nemáme, zobrazí se jim chybová zpráva, která je upozorní na skutečnost, že nás neaktualizovali (a přimějí nás kontaktovat e-mailem).

Můžeme to omezit pouze na e-mail?

Pokud se ptáte, zda to lze nakonfigurovat v administrativním back-endu, pak ne, nemůžete to udělat, příslušná funkce je aktuálně pevně zakódována v rámci user_pass_validate ().

Pravděpodobně si však již uvědomujete, že jednou ze silných stránek Drupals je relativní snadnost, ve které lze programově přizpůsobit nebo rozšířit prostřednictvím modulů. Nejsem si vědom toho, že by existující právě dělal toto (i když jeden by mohl existovat nakonec, příslušný seznam týkající se přístupu / ověřování uživatelů je docela obrovský), ale tady je to, co by vývojář mohl udělat:

  1. Přizpůsobení a přepsání stránky pro přihlášení uživatele, registrace a reset hesla v Drupalu 6

    • Jedná se o UI stránku věcí, tj. Sledování vysvětlení a poskytnutí alternativních formulářů podle potřeby (viz Průvodce rychlým spuštěním Form API) by umožnilo odstranit nápovědu k zadání uživatelského jména již, i když to mohl stále bude úspěšně zadáno pro ty, kteří vědí.
  2. Vlastně vypnout možnost zadávat uživatelské jméno je třeba přepsat existující funkci ověření formuláře user_pass_validate () vlastní kopií, která jednoduše přeskočí příslušnou kontrolu, tj. odebrat kód, který se pokouší načíst účet podle názvu (viz část Ověřování formulářů v počáteční příručce Form API Quickstart Guide).

Pro podrobnější odpověď (tj. Použitelnou implementaci, pokud máte štěstí) vás musím znovu odkázat na další web Stack Exchange: můžete o to požádat pomocí značky Drupal na Stack Overflow;)

  • Díky, Steffene. Mým záměrem s touto otázkou bylo zjistit, zda se jednalo o snadnou konfiguraci nebo opravu instalace pluginu, nebo zda by to vyžadovalo výrazné hackování.Z vaší odpovědi to zní, jako by práce byla větší než zisk, který bychom odvodili, takže je to prozatím pravděpodobně dostatečná odpověď. Dík!

Myslím, že to hledáte: http://drupal.org/project/email_registration

  • Vlastně ne, nejsem. Můj problém je omezen na získání hesla; vaše řešení (což je samozřejmé, skvělé) se vztahuje na uživatelská jména napříč platformou.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?