Rumah >Tutorial CMS >WordTekan >Membina Plugin Kaunter Log Masuk Pengguna WordPress

Membina Plugin Kaunter Log Masuk Pengguna WordPress

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2025-02-16 08:25:09998semak imbas

WordPress: Bina Plugin Kaunter Log Masuk Pengguna

WordPress adalah Sistem Pengurusan Kandungan yang paling popular (CMS) di web hari ini. Data Forbes menunjukkan bahawa lebih daripada 60 juta laman web di seluruh dunia berjalan di atas WordPress, yang cukup untuk membuktikan kedudukan utama dalam bidang CMS. Salah satu kelebihan besar WordPress adalah perpustakaan plug-in yang besar. Mahu membina kedai e-dagang? WooCommerce dapat memuaskan anda. Perlukan portal pengambilan? Pengurus Kerja WP adalah pilihan anda.

Tutorial ini akan membimbing anda untuk membuat plugin yang mengira bilangan kali log pengguna ke laman web WordPress dan memaparkan statistik log masuk dalam lajur tersuai dalam halaman senarai pengguna.

Building a WordPress User Login Counter Plugin

Pembangunan plugin

Kebanyakan fail plug-in WordPress adalah fail PHP, yang terletak di direktori

. Dalam kes ini, nama fail ialah /wp-content/plugins/. Saya menganggap anda sudah biasa dengan menyambung ke pelayan anda menggunakan FTP/SFTP/SCP atau SSH. wordpress-login-count.php

Jika anda mahu mengikuti, sila buat fail PHP PLUG-IN

. Pautan muat turun plug-in lengkap akan disediakan pada akhir tutorial ini. wordpress-login-count.php

Pertama, sertakan fail header plugin. Tanpa fail header, WordPress tidak akan mengenali plugin.

<code class="language-php"><?php /*
Plugin Name: WordPress 用户登录计数器
Plugin URI: http://sitepoint.com
Description: 统计用户登录WordPress账户的次数。
Version: 1.0
Author: Agbonghama Collins
Author URI: http://w3guy.com
License: GPL2
*/</code>
Kemudian, tambahkan ruang nama PHP dan buat kelas plugin seperti berikut:

Semua operasi dan cangkuk penapis yang diperlukan oleh plugin
<code class="language-php">namespace Sitepoint\WordPressPlugin;

class Login_Counter {
// ...</code>
akan memasuki kaedah

. init()

<code class="language-php">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 );
    }</code>

Operasi cangkuk dicetuskan oleh WordPress apabila pengguna log masuk, jadi ini adalah cangkuk yang sesuai yang kami gunakan untuk mengira bilangan log masuk pengguna. wp_login

yang berikut

Fungsi dikira. count_user_login()

<code class="language-php">    /**
     * 将用户登录计数保存到数据库。
     *
     * @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 );
        }
    }</code>
Kod Keterangan: Pertama, kita periksa sama ada pengguna mempunyai medan meta Penapis sp_login_count digunakan untuk menambah lajur tambahan ke halaman Senarai Pengguna WordPress yang akan mengeluarkan bilangan kali log pengguna dalam (lihat tangkapan skrin di atas).

Fungsi manage_users_custom_column

dilampirkan pada

dan tambahkan lajur baru. fill_stats_columns() manage_users_custom_column

Keterangan Kod: Keadaan
<code class="language-php">    /**
     * 使用值填充统计列。
     *
     * @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;
    }</code>
pertama memastikan bahawa kita memang dalam lajur

. Seterusnya if keadaan memeriksa sama ada pengguna mempunyai kiraan log masuk. Jika benar, kembalikan kiraan log masuk; login_stat Kaedah if

mencipta contoh singleton kelas dan kemudian memanggil kaedah

untuk mendaftarkan pelbagai operasi dan cangkuk penapis. get_instance() init() Akhirnya, kami akan memanggil kaedah

untuk menjalankan kelas PHP.

get_instance()

sudah selesai! Kami telah selesai mengodkan plugin kaunter log masuk.
<code class="language-php">Login_Counter::get_instance();</code>

Ringkasan

Untuk mengetahui lebih lanjut mengenai bagaimana plugin dibina dan melaksanakannya di laman WordPress anda, muat turunnya dari GitHub. (Pautan github harus ditambah di sini)

Saya harap ini akan membantu anda belajar bagaimana untuk membangunkan plugin untuk WordPress.

Sila kongsi pendapat anda dalam komen.

Soalan Lazim (Soalan Lazim) Pada Membina Plugin Kaunter Log Masuk Pengguna WordPress

Bagaimana menggunakan ID Pengguna semasa dalam kod HTML untuk mana -mana jawatan?

Untuk menggunakan ID pengguna semasa dalam kod HTML mana -mana jawatan, anda perlu menggunakan fungsi WordPress

. Fungsi ini akan mengembalikan ID pengguna yang sedang dilog masuk. Anda kemudian boleh menggunakan ID ini dalam kod HTML anda. Sebagai contoh, anda boleh menggunakannya untuk memaparkan mesej yang diperibadikan kepada pengguna. Berikut adalah contoh cara menggunakannya: get_current_user_id()

<code class="language-php"><?php /*
Plugin Name: WordPress 用户登录计数器
Plugin URI: http://sitepoint.com
Description: 统计用户登录WordPress账户的次数。
Version: 1.0
Author: Agbonghama Collins
Author URI: http://w3guy.com
License: GPL2
*/</code>
Mengapa fungsi

tidak berfungsi? wp_signon() Fungsi

mungkin tidak berfungsi untuk beberapa sebab. Sebab yang sama ialah anda cuba menggunakannya selepas menghantar tajuk. Fungsi ini mesti dipanggil sebelum sebarang output dihantar ke penyemak imbas atau ia tidak akan berfungsi. Sebab lain mungkin bahawa kelayakan yang diserahkan kepada fungsi itu tidak betul. Pastikan nama pengguna dan kata laluan betul dan pengguna wujud dalam pangkalan data WordPress anda. wp_signon()

Bagaimana untuk membuat kaunter log masuk menggunakan PHP?

Untuk membuat kaunter log masuk menggunakan PHP, anda boleh menggunakan sesi atau cookie. Apabila pengguna log masuk, anda boleh menambah kaunter yang disimpan dalam sesi atau cookie. Berikut adalah contoh mudah menggunakan sesi:

<code class="language-php">namespace Sitepoint\WordPressPlugin;

class Login_Counter {
// ...</code>
Apakah plugin pameran nombor kaunter dan bagaimana ia berfungsi?

Plugin Pameran Nombor Kaunter adalah plugin WordPress yang membolehkan anda memaparkan kaunter di laman web anda. Anda boleh menggunakannya untuk memaparkan pelbagai statistik seperti bilangan pengguna, jawatan, komen, dll. Plugin menyediakan kod pendek yang boleh anda gunakan dalam siaran atau halaman anda untuk memaparkan kaunter. Anda boleh menggunakan tetapan plugin untuk menyesuaikan penampilan kaunter.

Bagaimana untuk menjejaki bilangan log masuk pengguna di WordPress?

Untuk mengesan bilangan log masuk pengguna di WordPress, anda boleh menggunakan cangkuk operasi

. Cangkuk ini dicetuskan apabila pengguna log masuk. Anda boleh menggunakannya untuk meningkatkan kaunter yang disimpan dalam metadata pengguna. Berikut adalah contoh: wp_login

<code class="language-php">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 );
    }</code>
Dalam contoh ini, fungsi

dipanggil apabila pengguna log masuk. Ia mengambil kiraan log masuk semasa dari metadata pengguna, meningkatkannya, dan kemudian mengemas kini metadata pengguna dengan kiraan baru. track_user_logins()

Nota: Contoh kod di atas telah diselaraskan untuk menjadikannya lebih sesuai dengan spesifikasi pengekodan WordPress dan kebolehbacaan. Kod pemalam sebenar mungkin memerlukan pengendalian ralat yang lebih komprehensif dan pertimbangan keselamatan. Pastikan anda menguji dengan teliti pemalam anda dalam persekitaran pengeluaran.

Atas ialah kandungan terperinci Membina Plugin Kaunter Log Masuk Pengguna WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn