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.
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 */
Ensuite, ajoutez l'espace de noms PHP et créez la classe de plugin comme suit:
namespace Sitepoint\WordPressPlugin; class Login_Counter { // ...
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 ); }
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 ); } }
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.
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).
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; }
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;
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();
c'est fait! Nous avons terminé encodant le plugin de compteur de connexion.
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.
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 */
wp_signon()
ne fonctionne-t-elle pas? 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.
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 { // ...
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.
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 ); }
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!