Den „Registrieren“ Link überschreiben

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:

Die WordPress Login-Seite

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.

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:

Die WordPress Login-Seitemit eigenem „Registrieren“ Link

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.

Veröffentlicht von

Bernhard ist fest angestellter Webentwickler, entwickelt in seiner Freizeit Plugins, schreibt in seinem Blog über WordPress und andere Themen, treibt sich gerne bei den WP Meetups in Berlin und Potsdam herum und läuft nach Feierabend den ein oder anderen Halbmarathon.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert