Rumah  >  Artikel  >  Tutorial CMS  >  Bagaimana untuk membangunkan pemalam WordPress yang menjana papan mesej secara automatik

Bagaimana untuk membangunkan pemalam WordPress yang menjana papan mesej secara automatik

PHPz
PHPzasal
2023-09-06 09:09:151203semak imbas

Bagaimana untuk membangunkan pemalam WordPress yang menjana papan mesej secara automatik

Cara membangunkan pemalam WordPress yang menjana papan mesej secara automatik

Apabila mencipta tapak web interaktif, papan mesej amat diperlukan. Pada platform WordPress, untuk memudahkan pengguna menambah fungsi mesej, kami boleh membangunkan pemalam yang menjana papan mesej secara automatik. Artikel ini akan menerangkan cara menggunakan pembangunan pemalam WordPress untuk mencapai matlamat ini dan memberikan contoh kod yang sepadan.

Langkah Pertama: Cipta Folder Pemalam dan Fail Utama

Pertama, kita perlu mencipta folder dalam direktori pemalam WordPress untuk meletakkan pemalam papan mesej kami. Anda boleh menamakan folder ini "papan mesej".

Dalam folder ini, buat fail utama, contohnya "message-board.php". Fail ini akan menjadi fail masukan untuk pemalam.

Seterusnya, tambahkan kod berikut pada fail "message-board.php":

<?php
/*
Plugin Name: 留言板
Plugin URI: https://www.example.com/message-board
Description: 自动生成留言板的WordPress插件
Version: 1.0
Author: Your Name
Author URI: https://www.example.com
*/

// 在这里编写插件的主要代码

?>

Kod ini memberikan maklumat asas kepada pemalam dan mencipta pemalam yang dipanggil "Papan Mesej".

Langkah 2: Buat jadual pangkalan data

Untuk menyimpan data mesej, kita perlu mencipta jadual pangkalan data. Ini boleh dilakukan dengan memperluaskan pangkalan data WordPress.

Dalam blok kod utama fail "message-board.php", tambah kod berikut:

// 当插件激活时,调用该函数创建数据库表格
register_activation_hook( __FILE__, 'create_message_board_table' );

function create_message_board_table() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'message_board';

    $charset_collate = $wpdb->get_charset_collate();

    $sql = "CREATE TABLE $table_name (
        id mediumint(9) NOT NULL AUTO_INCREMENT,
        author_name varchar(150) NOT NULL,
        message text NOT NULL,
        submit_date datetime NOT NULL,
        PRIMARY KEY  (id)
    ) $charset_collate;";

    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    dbDelta( $sql );
}

Kod ini akan memanggil fungsi "create_message_board_table" apabila pemalam diaktifkan, yang akan mencipta pangkalan data bernama "wp_message_board" lembaran. Jadual termasuk lajur seperti id, nama_pengarang, mesej dan tarikh_serah.

Langkah 3: Buat halaman papan mesej

Sekarang kita perlu mencipta halaman dalam WordPress untuk memaparkan papan mesej. Kita boleh mencapai ini dengan menambahkan fungsi kod pendek pada fail utama pemalam.

Dalam coretan kod utama dalam fail "message-board.php", tambahkan kod berikut:

// 注册短代码
add_shortcode( 'message_board', 'display_message_board' );

// 短代码函数
function display_message_board() {
    ob_start();
    ?>

    <h3>留言板</h3>

    <!-- 留言板表单 -->
    <form id="message_form" method="post" action="<?php echo esc_url( admin_url('admin-post.php') ); ?>">
        <input type="hidden" name="action" value="submit_message">
        <label for="author_name">姓名:</label>
        <input type="text" name="author_name" required>
        <br>
        <label for="message">留言:</label>
        <textarea name="message" cols="30" rows="5" required></textarea>
        <br>
        <input type="submit" value="提交">
    </form>

    <!-- 已提交的留言 -->
    <div id="message_list">
        <?php // 调用函数来展示已提交的留言 ?>
        <?php display_submitted_messages(); ?>
    </div>

    <?php
    return ob_get_clean();
}

Dalam kod ini, kami mendaftarkan kod pendek yang dipanggil "message_board" dan mencipta halaman papan Mesej. Halaman ini mengandungi borang untuk menghantar komen baharu dan senarai untuk memaparkan ulasan yang diserahkan.

Langkah 4: Memproses data penyerahan borang

Apabila pengguna menghantar mesej, kami perlu menyimpan data mesej ke pangkalan data melalui fungsi pemprosesan bahagian belakang.

Teruskan tambah kod berikut pada coretan kod utama dalam fail "message-board.php":

// 处理留言提交
add_action( 'admin_post_nopriv_submit_message', 'handle_message_submission' );
add_action( 'admin_post_submit_message', 'handle_message_submission' );

function handle_message_submission() {
    if ( 'POST' === $_SERVER['REQUEST_METHOD'] ) {
        global $wpdb;
        $table_name = $wpdb->prefix . 'message_board';

        $author_name = sanitize_text_field( $_POST['author_name'] );
        $message = sanitize_textarea_field( $_POST['message'] );

        $data = array(
            'author_name' => $author_name,
            'message' => $message,
            'submit_date' => current_time( 'mysql' )
        );

        $wpdb->insert( $table_name, $data );

        wp_redirect( get_permalink() );
        exit;
    }
}

Dalam kod ini, kami mentakrifkan fungsi yang dipanggil "handle_message_submission" untuk mengendalikan penyerahan borang front-end. Fungsi ini mendapat nama pengarang dan kandungan mesej daripada borang dan memasukkan data ke dalam pangkalan data. Akhir sekali, kami mengubah hala halaman ke halaman papan mesej.

Langkah 5: Paparkan mesej yang dihantar

Akhir sekali, kita perlu mencipta fungsi untuk memaparkan mesej yang dihantar.

Teruskan tambah kod berikut pada coretan kod utama dalam fail "message-board.php":

function display_submitted_messages() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'message_board';

    $results = $wpdb->get_results( "SELECT * FROM $table_name" );

    if ( $results ) {
        foreach ( $results as $result ) {
            echo '<div class="message">';
            echo '<p><strong>作者: </strong>' . esc_html( $result->author_name ) . '</p>';
            echo '<p><strong>留言: </strong>' . esc_html( $result->message ) . '</p>';
            echo '<p><strong>时间: </strong>' . esc_html( $result->submit_date ) . '</p>';
            echo '</div>';
        }
    } else {
        echo '暂时没有留言';
    }
}

Dalam kod ini, kami mentakrifkan fungsi yang dipanggil "display_submitted_messages" untuk mendapatkan mesej yang diserahkan daripada komen pangkalan data dan dipaparkan pada halaman tersebut.

Pada ketika ini, kami telah melengkapkan pemalam WordPress yang menjana papan mesej secara automatik. Selepas mengaktifkan pemalam ini dalam pengurusan pemalam bahagian belakang WordPress, anda boleh memaparkan papan mesej dengan menambahkan kod pendek "[message_board]" pada halaman.

Semoga artikel ini akan membantu anda dalam membangunkan pemalam WordPress!

Atas ialah kandungan terperinci Bagaimana untuk membangunkan pemalam WordPress yang menjana papan mesej secara automatik. 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