Heim >CMS-Tutorial >WordDrücken Sie >So entwickeln Sie ein WordPress-Plugin, das automatisch Message Boards generiert

So entwickeln Sie ein WordPress-Plugin, das automatisch Message Boards generiert

PHPz
PHPzOriginal
2023-09-06 09:09:151247Durchsuche

So entwickeln Sie ein WordPress-Plugin, das automatisch Message Boards generiert

So entwickeln Sie ein WordPress-Plug-in, das automatisch Message Boards generiert

Beim Erstellen einer interaktiven Website ist ein Message Board unverzichtbar. Um Benutzern das Hinzufügen von Nachrichtenfunktionen zu erleichtern, können wir auf der WordPress-Plattform ein Plug-In entwickeln, das automatisch Message Boards generiert. In diesem Artikel wird erläutert, wie Sie mithilfe der WordPress-Plugin-Entwicklung dieses Ziel erreichen, und entsprechende Codebeispiele bereitstellen.

Schritt eins: Erstellen Sie den Plugin-Ordner und die Hauptdatei

Zuerst müssen wir einen Ordner im Plugin-Verzeichnis von WordPress erstellen, um unser Message-Board-Plugin zu platzieren. Sie können diesen Ordner „Message-Board“ nennen.

In diesem Ordner erstellen Sie eine Hauptdatei, zum Beispiel „message-board.php“. Diese Datei ist die Eintragsdatei für das Plugin.

Fügen Sie als Nächstes den folgenden Code zur Datei „message-board.php“ hinzu:

<?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
*/

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

?>

Dieser Code stellt grundlegende Informationen für das Plugin bereit und erstellt ein Plugin namens „Message Board“.

Schritt 2: Erstellen Sie eine Datenbanktabelle

Um die Nachrichtendaten zu speichern, müssen wir eine Datenbanktabelle erstellen. Dies kann durch die Erweiterung der WordPress-Datenbank erfolgen.

Fügen Sie im Hauptcodeblock der Datei „message-board.php“ den folgenden Code hinzu:

// 当插件激活时,调用该函数创建数据库表格
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 );
}

Dieser Code ruft bei Aktivierung des Plugins die Funktion „create_message_board_table“ auf, die eine Datenbank mit dem Namen „wp_message_board“ erstellt. Blatt. Die Tabelle enthält Spalten wie „id“, „author_name“, „message“ und „submit_date“.

Schritt 3: Erstellen Sie eine Message-Board-Seite

Jetzt müssen wir eine Seite in WordPress erstellen, um das Message-Board anzuzeigen. Dies können wir erreichen, indem wir der Hauptdatei des Plugins eine Shortcode-Funktion hinzufügen.

Fügen Sie im Hauptcode-Snippet in der Datei „message-board.php“ den folgenden Code hinzu:

// 注册短代码
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();
}

In diesem Code registrieren wir einen Shortcode namens „message_board“ und erstellen eine Message-Board-Seite. Die Seite enthält ein Formular zum Einreichen neuer Kommentare und eine Liste zur Anzeige eingereichter Kommentare.

Schritt 4: Formularübermittlungsdaten verarbeiten

Wenn der Benutzer eine Nachricht übermittelt, müssen wir die Nachrichtendaten über eine Backend-Verarbeitungsfunktion in der Datenbank speichern.

Fügen Sie weiterhin den folgenden Code zum Hauptcode-Snippet in der Datei „message-board.php“ hinzu:

// 处理留言提交
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;
    }
}

In diesem Code definieren wir eine Funktion namens „handle_message_submission“, um die Übermittlung des Front-End-Formulars zu verarbeiten. Die Funktion ruft den Namen des Autors und den Nachrichteninhalt aus dem Formular ab und fügt die Daten in die Datenbank ein. Schließlich leiten wir die Seite auf die Message-Board-Seite um.

Schritt 5: Die übermittelten Nachrichten anzeigen

Abschließend müssen wir eine Funktion erstellen, um die übermittelten Nachrichten anzuzeigen.

Fügen Sie weiterhin den folgenden Code zum Hauptcode-Snippet in der Datei „message-board.php“ hinzu:

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 '暂时没有留言';
    }
}

In diesem Code definieren wir eine Funktion namens „display_submitted_messages“, um übermittelte Nachrichten aus den Datenbankkommentaren abzurufen und anzuzeigen die Seite.

Zu diesem Zeitpunkt haben wir ein WordPress-Plug-in fertiggestellt, das automatisch Message Boards generiert. Nach der Aktivierung dieses Plug-Ins in der Plug-In-Verwaltung des WordPress-Backends können Sie das Message Board anzeigen, indem Sie der Seite den Shortcode „[message_board]“ hinzufügen.

Ich hoffe, dieser Artikel wird Ihnen bei der Entwicklung von WordPress-Plugins hilfreich sein!

Das obige ist der detaillierte Inhalt vonSo entwickeln Sie ein WordPress-Plugin, das automatisch Message Boards generiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn