ホームページ > CMS チュートリアル > &#&プレス > WordPressユーザーログインカウンタープラグインの構築

WordPressユーザーログインカウンタープラグインの構築

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-16 08:25:09
オリジナル
990 人が閲覧しました

wordpress:ユーザーログインカウンタープラグインを作成

WordPressは、今日のWeb上で最も人気のあるコンテンツ管理システム(CMS)です。 Forbesのデータによると、世界中の6,000万件以上のWebサイトがWordPressを超えて実行されており、CMSフィールドでの主要な位置を証明するのに十分です。 WordPressの大きな利点の1つは、その巨大なプラグインライブラリです。 eコマースストアを建設したいですか? woocommerceはあなたを満足させることができます。採用ポータルが必要ですか? WPジョブマネージャーはあなたの選択です。

このチュートリアルでは、ユーザーがWordPress Webサイトにログに記録し、ユーザーリストページのカスタム列にログイン統計を表示する回数をカウントするプラグインを作成するように導きます。

Building a WordPress User Login Counter Plugin

プラグインの開発

ほとんどのWordPressプラグインファイルは、

ディレクトリにあるPHPファイルです。この場合、ファイル名は/wp-content/plugins/です。 FTP/SFTP/SCPまたはSSHを使用してサーバーに接続することに精通していると思います。 wordpress-login-count.php

フォローしたい場合は、プラグインPHPファイルを作成してください

。このチュートリアルの最後に、完全なプラグインダウンロードリンクが提供されます。 wordpress-login-count.php

最初に、プラグインヘッダーファイルを含めます。ヘッダーファイルがなければ、WordPressはプラグインを認識しません。

<?php /*
Plugin Name: WordPress 用户登录计数器
Plugin URI: http://sitepoint.com
Description: 统计用户登录WordPress账户的次数。
Version: 1.0
Author: Agbonghama Collins
Author URI: http://w3guy.com
License: GPL2
*/
ログイン後にコピー
ログイン後にコピー
次に、PHPネームスペースを追加して、次のようにプラグインクラスを作成します。

プラグインに必要なすべての操作およびフィルターフックは、
namespace Sitepoint\WordPressPlugin;

class Login_Counter {
// ...
ログイン後にコピー
ログイン後にコピー
メソッドに入ります。

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 );
    }
ログイン後にコピー
ログイン後にコピー
操作フックは、ユーザーがログインするときにWordPressによってトリガーされるため、これはユーザーログインの数をカウントするために使用する適切なフックです。

wp_login次の

関数がカウントされます。

count_user_login()

コードの説明:最初に、ユーザーが空の
    /**
     * 将用户登录计数保存到数据库。
     *
     * @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 );
        }
    }
ログイン後にコピー
メタフィールドを持っているかどうかを確認します。 FALSEの場合、以前に保存したログインカウントを取得し、1に追加します。したがって、値1はユーザーのメタフィールドに保存されます。

sp_login_count

フィルターは、ユーザーがログに記録する回数を出力するWordPressユーザーリストページに追加の列を追加するために使用されます(上記のスクリーンショットを参照)。

manage_users_custom_column

関数は

に添付され、新しい列を追加します。 fill_stats_columns() manage_users_custom_column

コードの説明:最初の
    /**
     * 使用值填充统计列。
     *
     * @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;
    }
ログイン後にコピー
条件により、実際に

列にあることが保証されます。次に、if条件でユーザーがログインカウントを持っているかどうかを確認します。 trueの場合、ログイン数を返します。 login_stat if

メソッドは、クラスのSingletonインスタンスを作成し、メソッドを呼び出して、さまざまな操作とフィルターフックを登録します。

get_instance()最後に、PHPクラスを実行するためにinit()メソッドを呼び出します。

get_instance()完成しました!ログインカウンタープラグインのエンコードが完了しました。

要約

プラグインの構築方法について詳しく知り、WordPressサイトに実装するには、GitHubからダウンロードしてください。 (GitHubリンクはここに追加する必要があります)

これが、WordPress用のプラグインを開発する方法を学ぶのに役立つことを願っています。

コメントであなたの考えを共有してください。

ワードプレスユーザーログインカウンタープラグインの構築に関する

FAQ(FAQ)

投稿にHTMLコードで現在のユーザーIDを使用する方法は?

投稿のHTMLコードで現在のユーザーIDを使用するには、WordPress関数get_current_user_id()を使用する必要があります。この関数は、現在ログインしているユーザーのIDを返します。その後、このIDをHTMLコードで使用できます。たとえば、ユーザーにパーソナライズされたメッセージを表示するために使用できます。使用方法の例は次のとおりです。

<?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()

関数は、いくつかの理由で機能しない場合があります。よくある理由は、ヘッダーを送信した後に使用しようとすることです。この関数は、出力がブラウザに送信される前に呼び出される必要があります。そうしないと、機能しません。もう1つの理由は、関数に渡された資格情報が正しくないことです。ユーザー名とパスワードが正しいこと、およびユーザーがWordPressデータベースに存在することを確認してください。 wp_signon()

PHPを使用してログインカウンターを作成する方法は?

PHPを使用してログインカウンターを作成するには、セッションまたはCookieを使用できます。ユーザーがログインすると、セッションまたはCookieに保存されているカウンターをインクリメントできます。セッションを使用する簡単な例が次のとおりです。

カウンター番号のショーケースプラグインとは何ですか?それはどのように機能しますか?
namespace Sitepoint\WordPressPlugin;

class Login_Counter {
// ...
ログイン後にコピー
ログイン後にコピー

カウンターナンバーショーケースプラグインは、WordPressプラグインであり、ウェブサイトにカウンターを表示できます。これを使用して、ユーザーの数、投稿、コメントなどのさまざまな統計を表示できます。プラグインは、投稿またはページで使用してカウンターを表示できる短いコードを提供します。プラグインの設定を使用して、カウンターの外観をカスタマイズできます。

WordPressでユーザーログインの数を追跡する方法は?

WordPressでユーザーログインの数を追跡するには、

操作フックを使用できます。このフックは、ユーザーがログインするたびにトリガーされます。それを使用して、ユーザーメタデータに保存されているカウンターを増やすことができます。例は次のとおりです。

wp_login この例では、ユーザーがログインするたびに

関数が呼び出されます。ユーザーのメタデータから現在のログインカウントを取得し、それを増やしてから、ユーザーのメタデータを新しいカウントで更新します。
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 );
    }
ログイン後にコピー
ログイン後にコピー

注:上記のコードの例は、WordPressをエンコードする仕様と読みやすさに沿ってより沿ったように調整されています。 実際のプラグインコードには、より包括的なエラー処理とセキュリティに関する考慮事項が必要になる場合があります。 生産環境でプラグインを慎重にテストしてください。 track_user_logins()

以上がWordPressユーザーログインカウンタープラグインの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート