In einem früheren Blogbeitrag habe ich euch berichtet, wie ich Gravity Forms für die Benutzerregistrierung verwendet habe. Dies wurde auf einer statischen Seite anstelle der normalen WordPress Registrierungsseite umgesetzt. Wenn ihr also möchtet, dass sich Benutzer auf einer solchen Seite registrieren, dann solltet ihr auch von vielen Stellen aus dorthin verlinken. In diesem Blogbeitrag möchte ich euch zeigen, wie ihr einen Link zu dieser Seite von der Login-Seite aus setzen könnt.
Die WordPress Login-Seite
Unter „Einstellungen › Allgemein“ könnt ihr bei „Mitgliedschaft“ die Option „Jeder kann sich registrieren“ aktivieren. Damit findet dann jeder auf der Login-Seite einen Link zur normalen Regstrieungsseite:
Ändern der URL für den „Registrieren“ Link
Wenn ihr lediglich die URL für diesen Link überschreiben möchtet, dann könnt ihr einen Filter verwenden. Dieser erhält als Übergabe den HTML Code für den Link, den ihr dann wie folgt überschreiben könnt:
function custom_register_link( $link ) {
return sprintf(
'<a href="%s">%s</a>',
esc_url( '/register/' ),
esc_html__( 'Register' )
);
}
add_filter( 'register', 'custom_register_link' );
Dies setzt einen Link auf die statische URL /register/
unter Verwendung des normalen Linktexts.
Setzen eines anderen Links, wenn die Registrierung deaktiviert ist
Dieser Ansatz funktioniert nur dann, wenn ihr auch zuvor die Registrierung aktiviert habt. Aber hierdurch wird auch das normale Registrierungsformular verfügbar. Falls ihr die Registrierung nicht aktiviert habt, könnt ihr dennoch mit Gravity Forms (und vermutlich auch mit anderen Plugins) Benutzer registrieren. Da aber der „Registrieren“ komplett verschwindet, könnt ihr dann auch nicht mehr einfach die URL überschreiben. Stattdessen könnt ihr aber mit dem folgenden Code einen zusätzlichen Link an einer anderen Stelle einfügen:
function custom_login_site_html_link( $home_link ) {
$register_link = sprintf(
'<a href="%s">%s</a>',
esc_url( '/register/' ),
esc_html__( 'Register' )
);
return sprintf(
'%s<br /><br />%s',
$register_link,
$home_link
);
}
add_filter( 'login_site_html_link', 'custom_login_site_html_link' );
Dieser Filter hängt sich normalerweise in den „← Zurück zu <Seitenname>“ link. Dies ist die einzige Stelle, an der wir unseren eigenen Link einfügen können. Das Ergebnis sieht dann in etwa wie folgt aus:
Durch diese Platzierung ist der Link vielleicht sogar besser sichtbar als an seiner ursprünglichen Stelle neben dem „Passwort vergessen?“ Link.
Fazit
Eine Selbstregistrierung kann wirklich vorteilhaft sein. Wenn ihr eine solche umsetzt, dann solltet ihr aber sicherstellen, dass ihr immer auf dieses eigene Formular verlinkt.