Maison > Tutoriel CMS > WordPresse > Construire un plugin de compteur de connexion de l'utilisateur WordPress

Construire un plugin de compteur de connexion de l'utilisateur WordPress

尊渡假赌尊渡假赌尊渡假赌
Libérer: 2025-02-16 08:25:09
original
999 Les gens l'ont consulté

WordPress: créez un plugin de compteur de connexion utilisateur

WordPress est le système de gestion de contenu le plus populaire (CMS) sur le Web aujourd'hui. Les données de Forbes montrent que plus de 60 millions de sites Web dans le monde dépassent WordPress, ce qui est suffisant pour prouver sa position principale dans le champ CMS. L'un des grands avantages de WordPress est son immense bibliothèque de plug-in. Vous voulez construire un magasin de commerce électronique? WooCommerce peut vous satisfaire. Besoin d'un portail de recrutement? WP Job Manager est votre choix.

Ce tutoriel vous guidera pour créer un plugin qui compte le nombre de fois qu'un utilisateur se connecte à un site Web WordPress et affiche des statistiques de connexion dans la colonne personnalisée dans la page de la liste d'utilisateurs.

Building a WordPress User Login Counter Plugin

Développement du plugin

La plupart des fichiers de plug-in wordpress sont des fichiers PHP, situés dans le répertoire /wp-content/plugins/. Dans ce cas, le nom du fichier est wordpress-login-count.php. Je suppose que vous connaissez la connexion à votre serveur à l'aide de FTP / SFTP / SCP ou SSH.

Si vous souhaitez suivre, veuillez créer un fichier PHP plug-in wordpress-login-count.php. Un lien de téléchargement de plug-in complet sera fourni à la fin de ce tutoriel.

Tout d'abord, incluez le fichier d'en-tête du plugin. Sans fichiers d'en-tête, WordPress ne reconnaîtra pas le plugin.

<?php /*
Plugin Name: WordPress 用户登录计数器
Plugin URI: http://sitepoint.com
Description: 统计用户登录WordPress账户的次数。
Version: 1.0
Author: Agbonghama Collins
Author URI: http://w3guy.com
License: GPL2
*/
Copier après la connexion
Copier après la connexion

Ensuite, ajoutez l'espace de noms PHP et créez la classe de plugin comme suit:

namespace Sitepoint\WordPressPlugin;

class Login_Counter {
// ...
Copier après la connexion
Copier après la connexion
Toutes les opérations et les crochets de filtre requis par le plugin

saisiront la méthode init().

public function init() {
        add_action( 'wp_login', array( $this, 'count_user_login' ), 10, 2 );

        add_filter( 'manage_users_columns', array( $this, 'add_stats_columns' ) );

        add_action( 'manage_users_custom_column', array( $this, 'fill_stats_columns' ), 10, 3 );
    }
Copier après la connexion
Copier après la connexion

wp_login Le crochet d'opération est déclenché par WordPress lorsque l'utilisateur se connecte, c'est donc le crochet approprié que nous utilisons pour compter le nombre de connexions utilisateur.

Le nombre de fonctions count_user_login() suivant.

    /**
     * 将用户登录计数保存到数据库。
     *
     * @param string $user_login 用户名
     * @param object $user WP_User 对象
     */
    public function count_user_login( $user_login, $user ) {

        if ( ! empty( get_user_meta( $user->ID, 'sp_login_count', true ) ) ) {
            $login_count = get_user_meta( $user->ID, 'sp_login_count', true );
            update_user_meta( $user->ID, 'sp_login_count', ( (int) $login_count + 1 ) );
        } else {
            update_user_meta( $user->ID, 'sp_login_count', 1 );
        }
    }
Copier après la connexion

DESCRIPTION DE CODE: Tout d'abord, nous vérifions si l'utilisateur a un champ Meta vide sp_login_count. Si FAUX, nous obtenons le nombre de connexions précédemment enregistré et l'ajoutant à 1; si cela signifie que l'utilisateur se connecte pour la première fois. Par conséquent, la valeur 1 sera enregistrée dans le métafifield de l'utilisateur.

Le filtre

manage_users_custom_column est utilisé pour ajouter une colonne supplémentaire à la page de liste d'utilisateurs WordPress qui publiera le nombre de fois où l'utilisateur se connecte (voir la capture d'écran ci-dessus).

La fonction

fill_stats_columns() est attachée à manage_users_custom_column et ajoutez une nouvelle colonne.

    /**
     * 使用值填充统计列。
     *
     * @param string $empty
     * @param string $column_name
     * @param int $user_id
     *
     * @return string|void
     */
    public function fill_stats_columns( $empty, $column_name, $user_id ) {

        if ( 'login_stat' == $column_name ) {
            if ( get_user_meta( $user_id, 'sp_login_count', true ) !== '' ) {
                $login_count = get_user_meta( $user_id, 'sp_login_count', true );

                return "<strong>$login_count</strong>";
            } else {
                return __( 'No record found.' );
            }
        }

        return $empty;
    }
Copier après la connexion

DESCRIPTION DE CODE: La première condition if garantit que nous sommes en effet dans la colonne login_stat. Suivant if Condition vérifie si l'utilisateur a un nombre de connexions. Si vrai, renvoyez le nombre de connexions;

La méthode

get_instance() crée une instance singleton de la classe, puis appelle la méthode init() pour enregistrer diverses opérations et filtrer les crochets.

Enfin, nous appellerons la méthode get_instance() pour exécuter la classe PHP.

Login_Counter::get_instance();
Copier après la connexion

c'est fait! Nous avons terminé encodant le plugin de compteur de connexion.

Résumé

Pour en savoir plus sur la façon dont le plugin est construit et l'implémenter dans votre site WordPress, téléchargez-le à partir de GitHub. (Le lien github doit être ajouté ici)

J'espère que cela vous aidera à apprendre à développer des plugins pour WordPress.

Veuillez partager vos réflexions dans les commentaires.

FAQS (FAQ) sur la construction du plugin de compteur de connexion utilisateur WordPress

Comment utiliser l'ID utilisateur actuel dans le code HTML pour n'importe quel message?

Pour utiliser l'ID utilisateur actuel dans le code HTML de n'importe quel article, vous devez utiliser la fonction WordPress get_current_user_id(). Cette fonction renverra l'ID de l'utilisateur actuellement connecté. Vous pouvez ensuite utiliser cet ID dans votre code HTML. Par exemple, vous pouvez l'utiliser pour afficher des messages personnalisés aux utilisateurs. Voici un exemple de la façon de l'utiliser:

<?php /*
Plugin Name: WordPress 用户登录计数器
Plugin URI: http://sitepoint.com
Description: 统计用户登录WordPress账户的次数。
Version: 1.0
Author: Agbonghama Collins
Author URI: http://w3guy.com
License: GPL2
*/
Copier après la connexion
Copier après la connexion

Pourquoi la fonction wp_signon() ne fonctionne-t-elle pas?

Les fonctions

wp_signon() peuvent ne pas fonctionner pour un certain nombre de raisons. Une raison courante est que vous essayez de l'utiliser après avoir envoyé l'en-tête. Cette fonction doit être appelée avant que toute sortie soit envoyée au navigateur ou qu'elle ne fonctionnera pas. Une autre raison pourrait être que les informations d'identification transmises à la fonction sont incorrectes. Assurez-vous que le nom d'utilisateur et le mot de passe sont corrects et que l'utilisateur existe dans votre base de données WordPress.

Comment créer un compteur de connexion à l'aide de PHP?

Pour créer un compteur de connexion à l'aide de PHP, vous pouvez utiliser une session ou un cookie. Lorsque l'utilisateur se connecte, vous pouvez incrémenter le compteur stocké dans la session ou le cookie. Voici un exemple simple d'utilisation d'une session:

namespace Sitepoint\WordPressPlugin;

class Login_Counter {
// ...
Copier après la connexion
Copier après la connexion

Quel est le plugin de vitrine du numéro de compteur et comment fonctionne-t-il?

Counter Number Showcase Le plugin est un plugin WordPress qui vous permet d'afficher des compteurs sur votre site Web. Vous pouvez l'utiliser pour afficher diverses statistiques telles que le nombre d'utilisateurs, les publications, les commentaires, etc. Le plugin fournit un code court que vous pouvez utiliser dans votre publication ou votre page pour afficher le compteur. Vous pouvez utiliser les paramètres du plugin pour personnaliser l'apparence du compteur.

Comment suivre le nombre de connexions utilisateur dans WordPress?

Pour suivre le nombre de connexions utilisateur dans WordPress, vous pouvez utiliser le Hook Operation wp_login. Ce crochet est déclenché chaque fois que l'utilisateur se connecte. Vous pouvez l'utiliser pour incrémenter les compteurs stockés dans les métadonnées utilisateur. Voici un exemple:

public function init() {
        add_action( 'wp_login', array( $this, 'count_user_login' ), 10, 2 );

        add_filter( 'manage_users_columns', array( $this, 'add_stats_columns' ) );

        add_action( 'manage_users_custom_column', array( $this, 'fill_stats_columns' ), 10, 3 );
    }
Copier après la connexion
Copier après la connexion

Dans cet exemple, la fonction track_user_logins() est appelée chaque fois que l'utilisateur se connecte. Il récupère le nombre de connexions actuel à partir des métadonnées de l'utilisateur, l'incrémente, puis met à jour les métadonnées de l'utilisateur avec le nouveau décompte.

Remarque: L'exemple de code ci-dessus a été ajusté pour le rendre plus conforme aux spécifications et à la lisibilité de l'encodage WordPress. Le code de plug-in réel peut nécessiter des considérations de gestion des erreurs et de sécurité plus complètes. Assurez-vous de tester soigneusement vos plug-ins dans des environnements de production.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal