ThemeLocal - Blog-Tipps, die wie von Zauberhand funktionierenThemeLocal - Blog-Tipps, die wie von Zauberhand funktionierenThemeLocal - Blog-Tipps, die wie von Zauberhand funktionieren
  • Bloggen
  • WordPress
  • E-Mail Marketing
  • SEO
  • Soziale Netzwerke
  • Mehr
    • Tutorials
    • Shopify
    • Bewertungen
    • Tipps
    • Sicherheit
    • Software und Dienste
    • Verkehrserzeugung
    • Anfängerleitfaden
    • Showcase
Search
  • Nutzungsbedingungen
  • Datenschutzerklärung
  • Cookie-Richtlinie
  • Kontakt
© 2022 Themelocal. Alle Rechte vorbehalten.
Lektüre: So sperren Sie einen WordPress-Benutzer
Aktie
Benachrichtigung Zeig mehr
Aa
ThemeLocal - Blog-Tipps, die wie von Zauberhand funktionierenThemeLocal - Blog-Tipps, die wie von Zauberhand funktionieren
Aa
  • Bloggen
  • WordPress
  • E-Mail Marketing
  • SEO
  • Soziale Netzwerke
  • Mehr
Search
  • Bloggen
  • WordPress
  • E-Mail Marketing
  • SEO
  • Soziale Netzwerke
  • Mehr
    • Tutorials
    • Shopify
    • Bewertungen
    • Tipps
    • Sicherheit
    • Software und Dienste
    • Verkehrserzeugung
    • Anfängerleitfaden
    • Showcase
Folge uns
  • Nutzungsbedingungen
  • Datenschutzerklärung
  • Cookie-Richtlinie
  • Kontakt
© 2022 Themelocal. Alle Rechte vorbehalten.
ThemeLocal - Blog-Tipps, die wie von Zauberhand funktionieren > Blog > Tutorials > So sperren Sie einen WordPress-Benutzer
Tutorials

So sperren Sie einen WordPress-Benutzer

Zuletzt aktualisiert: Dezember 8, 2021 10:48 p.m.
ThemeLocal vor 4 Jahren 7 Minuten Mindestlesezeit
Aktie
7 Minuten Mindestlesezeit
1639000140 So sperren Sie einen WordPress Benutzer
Aktie

Ich wurde vor ein paar Tagen gebeten, ein System zu erstellen, das einem WordPress-Benutzer eine Installation verbietet. Also habe ich ein einfaches Plugin erstellt und wollte mit Ihnen die Grundlagen dieses Plugins teilen. In diesem Tutorial werden wir WordPress-Filter, Aktionen, die Verwaltung von Benutzerspalten und einige weitere großartige Dinge behandeln.

Contents
Schritt 1: Erstellen Sie das PluginSchritt 2: Hinzufügen eines Kontrollkästchens auf der Profilseite des BenutzersSchritt 3: Benutzer sperrenSchritt 4: Sperre von Benutzern aufhebenSchritt 5: Ist der Benutzer gesperrt?Schritt 5: Vermeiden Sie gesperrte Benutzer zur Anmeldung

Schritt 1: Erstellen Sie das Plugin

Auch hier ist es sehr kompliziert, Sie müssen lediglich einen neuen Ordner mit „wp-content/plugins“ namens „ban-users“ erstellen. Erstellen Sie in diesem Ordner eine neue Datei namens „ban-users.php“, öffnen Sie sie und fügen Sie diesen Code ein:

<?php
/*
Plugin Name: Ban Users
Plugin URI: http://www.remicorson.com
Description: Allows you to ban users
Author: Remi Corson
Version: 1.0
Author URI: http://www.remicorson.com
*/

Schritt 2: Hinzufügen eines Kontrollkästchens auf der Profilseite des Benutzers

Das erste, was wir tun müssen, ist, auf jeder Seite der Benutzerprofil-Edition ein Kontrollkästchen hinzuzufügen. Wenn Sie dieses Kontrollkästchen aktivieren, wird eine Benutzer-Meta-Option gespeichert, die anzeigt, dass der Benutzer sich nicht mehr bei Ihrer Website anmelden darf.

Hier ist der Code:

/**
 * Admin init
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_admin_init(){
    
	// Edit user profile
	add_action( 'edit_user_profile', 'rc_edit_user_profile' );
	add_action( 'edit_user_profile_update', 'rc_edit_user_profile_update' );
	
}
add_action('admin_init', 'rc_admin_init' );

Dieser Code erzeugt einfach einen Aufruf einer Funktion, die wir jetzt erstellen müssen. Diese Funktion fügt der Profilseite des Benutzers ein Kontrollkästchen hinzu.

/**
 * Adds custom checkbox to user edition page
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_edit_user_profile() {
	if ( !current_user_can( 'edit_users' ) ) {
		return;
	}
	
	global $user_id;
	
	// User cannot disable itself
	$current_user = wp_get_current_user();
	$current_user_id = $current_user->ID;
	if ( $current_user_id == $user_id ) {
		return;
	}

	// Check if enabled
	$checked = checked( get_user_option( 'rc_banned', $user_id, false ) );

	// Display checkbox
	echo '<table class="form-table">
	<tr>
		<th scope="row">Ban User</th>
		<td>
		<label for="rc_ban">
			<input name="rc_ban" type="checkbox" id="rc_ban" '. $checked .' />Ban this user</label>
		</td>
	</tr>
	</table>';
}

Wir brauchen jetzt die Funktion, die den Wert des Kontrollkästchens in der Datenbank speichert:

/**
 * Save custom checkbox
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_edit_user_profile_update() {
			
	if ( !current_user_can( 'edit_users' ) ) {
		return;
	}
	
	global $user_id;
	
	// User cannot disable itself
	$current_user    = wp_get_current_user();
	$current_user_id = $current_user->ID;
	if ( $current_user_id == $user_id ) {
		return;
	}
	
	// Lock
	if( isset( $_POST['rc_ban'] ) && $_POST['rc_ban'] = 'on' ) {
		rc_ban_user( $user_id );
	} else { // Unlock
		rc_unban_user( $user_id );
	}
	
}

Wie Sie sehen, verwendet diese neue Funktion zwei weitere Funktionen: rc_ban_users() und rc_unban_users(). Ihre Namen sind ziemlich eindeutig, der erste speichert in der Datenbank die Tatsache, dass ein Benutzer gesperrt ist, der zweite entsperrt Benutzer.

Schritt 3: Benutzer sperren

Jetzt ist es an der Zeit, die Funktion rc_ban_users() zu erstellen. In dieser Funktion müssen wir prüfen, ob bereits ein Wert gespeichert ist, und wenn nicht, müssen wir den Wert speichern. Aus diesem Grund rufe ich eine Funktion auf, die ich später beschreibe: rc_is_user_banned():

/**
 * Ban user
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_ban_user( $user_id ) {
	
	$old_status = rc_is_user_banned( $user_id );
	
	// Update status
	if ( !$old_status ) {
		update_user_option( $user_id, 'rc_banned', true, false );
	}
}

Schritt 4: Sperre von Benutzern aufheben

Die folgende Funktion ist das Gegenteil von der, die wir gerade erstellt haben: Wir müssen Benutzern die Möglichkeit geben, die Sperre aufzuheben:

/**
 * Un-ban user
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_unban_user( $user_id ) {

	$old_status = rc_is_user_banned( $user_id );
	
	// Update status
	if ( $old_status ) {
		update_user_option( $user_id, 'rc_banned', false, false );
	}
}

Schritt 5: Ist der Benutzer gesperrt?

Wir haben in rc_ban_users() und rc_unban_users() gesehen, dass wir eine Funktion namens rc_is_user_banned() verwenden, um zu überprüfen, ob ein Benutzer gesperrt ist oder nicht. Lass es uns erstellen:

/**
 * Checks if a user is already banned
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_is_user_banned( $user_id ) {
	return get_user_option( 'rc_banned', $user_id, false );
}

Im Grunde gibt diese Funktion einfach den Wert der in rc_ban_users() gespeicherten Option zurück.

Zu diesem Zeitpunkt haben wir ein neues Kontrollkästchen auf der Seite der Benutzerausgabe, das so aussehen sollte:

ban_users_1

Der letzte Schritt besteht darin, eine Funktion in das Anmeldeformular einzubinden, um zu verhindern, dass Benutzer sich anmelden.

Schritt 5: Vermeiden Sie gesperrte Benutzer zur Anmeldung

Dazu müssen wir einen WordPress-Standardfilter namens „wp_authenticate_user“ verwenden. An diesen Filter hängen wir eine Funktion namens „rc_authenticate_user()“. Diese Funktion verwendet die WP_Fehlerklasse.

/**
 * Check if user is locked while login process
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_authenticate_user( $user ) {

	if ( is_wp_error( $user ) ) {
		return $user;
	}
	
	// Return error if user account is banned
	$banned = get_user_option( 'rc_banned', $user->ID, false );
	if ( $banned ) {
		return new WP_Error( 'rc_banned', __('<strong>ERROR</strong>: This user account is disabled.', 'rc') );
	}
	
	return $user;
}

Jetzt müssen wir nur noch den Filter hinzufügen:

add_filter( 'wp_authenticate_user', 'rc_authenticate_user', 1 );

Wir haben ein Plugin erstellt, das der Benutzerprofil-Editionsseite ein Kontrollkästchen hinzufügt. Wir haben eine zweite Funktion verwendet, um den Wert in der Checkbox zu speichern, und wir erstellen eine Funktion zum Sperren eines WordPress-Benutzers und eine weitere zum Entsperren eines Benutzers. Wir haben auch eine kleine Funktion erstellt, um zu überprüfen, ob ein Benutzer gesperrt ist oder nicht. Und schließlich haben wir eine Funktion an den Filter „wp_authenticate_user“ angehängt, die die WordPress-Standardklasse WP_Error verwendet.

Vollständigen Code auf Github herunterladen

Verwandter Beitrag

Sparen Sie 1/3 auf dieser stilvollen Beats Pille x Kim Kardashian tragbarer Lautsprecher

Machen Sie Ihre Frühlingsreinigung mit den massiv reduzierten kabellosen Staubsaugen von Dreame richtig

Sichern Sie sich während des Frühlingsverkaufs von Amazon ein neues Telefon für weniger als 100 £

Sparen Sie mehr als 20% auf der mächtigen 20 -TB -Festplatte von WD 20 TB

Vergessen Sie alle anderen Fitness -Tracker, dieser reduzierte Garmin ist der Traum eines Läufers

MARKIERTE: einen, Sie, sperren, WordPressBenutzer
Teile diesen Artikel
Facebook Twitter Pinterest Whatsapp Whatsapp
Aktie
Was denkst du?
Liebe0
Traurig0
Glücklich0
Schläfrig0
Wütend0
kein Kommentar0
Zwinkern0
Vorheriger Artikel So blockieren Sie einen WordPress Benutzer ohne sein Konto zu loeschen So blockieren Sie einen WordPress-Benutzer, ohne sein Konto zu löschen
Nächster Artikel So verhindern Sie dass Kunden WordPress Plugins deaktivieren So verhindern Sie, dass Kunden WordPress-Plugins deaktivieren
Hinterlasse einen Kommentar

Schreibe einen Kommentar Antwort abbrechen

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

Berühmter Post

También podría gustarte

Sparen Sie 13 auf dieser stilvollen Beats Pille x Kim
Angebote

Sparen Sie 1/3 auf dieser stilvollen Beats Pille x Kim Kardashian tragbarer Lautsprecher

vor 1 Jahr 3 Minuten Mindestlesezeit
Machen Sie Ihre Fruehlingsreinigung mit den massiv reduzierten kabellosen Staubsaugen
Angebote

Machen Sie Ihre Frühlingsreinigung mit den massiv reduzierten kabellosen Staubsaugen von Dreame richtig

vor 1 Jahr 4 Minuten Mindestlesezeit
Sichern Sie sich waehrend des Fruehlingsverkaufs von Amazon ein neues
Angebote

Sichern Sie sich während des Frühlingsverkaufs von Amazon ein neues Telefon für weniger als 100 £

vor 1 Jahr 3 Minuten Mindestlesezeit
Sparen Sie mehr als 20 auf der maechtigen 20 TB
Angebote

Sparen Sie mehr als 20% auf der mächtigen 20 -TB -Festplatte von WD 20 TB

vor 1 Jahr 3 Minuten Mindestlesezeit
Vergessen Sie alle anderen Fitness Tracker dieser reduzierte Garmin ist
Angebote

Vergessen Sie alle anderen Fitness -Tracker, dieser reduzierte Garmin ist der Traum eines Läufers

vor 1 Jahr 4 Minuten Mindestlesezeit
Sparen Sie ueber 20 auf einem der besten Streaming Geraete
Angebote

Sparen Sie über 20% auf einem der besten Streaming -Geräte von Amazon

vor 1 Jahr 3 Minuten Mindestlesezeit
Aktualisieren Sie Ihren Fernseher auf den billigen und einfachen Weg
Angebote

Aktualisieren Sie Ihren Fernseher auf den billigen und einfachen Weg mit dem Fire TV -Stick

vor 1 Jahr 3 Minuten Mindestlesezeit
Vergessen Sie den Kauf eines GoPro der Insta360 Ace
Angebote

Vergessen Sie den Kauf eines GoPro – der Insta360 Ace Pro ist ein Schnäppchen für Frühlingsverkaufs

vor 1 Jahr 3 Minuten Mindestlesezeit
Zeig mehr
ThemeLocal - Blog-Tipps, die wie von Zauberhand funktionierenThemeLocal - Blog-Tipps, die wie von Zauberhand funktionieren
Folge uns
© 2022 Themelocal. Alle Rechte vorbehalten.
  • Nutzungsbedingungen
  • Datenschutzerklärung
  • Cookie-Richtlinie
  • Kontakt
Welcome Back!

Sign in to your account

Passwort vergessen?