目次
留言板
ホームページ CMS チュートリアル &#&プレス 掲示板を自動生成するWordPressプラグインの開発方法

掲示板を自動生成するWordPressプラグインの開発方法

Sep 06, 2023 am 09:09 AM
自動生成 伝言板 ワードプレスのプラグイン開発

掲示板を自動生成するWordPressプラグインの開発方法

掲示板を自動生成するWordPressプラグインの開発方法

インタラクティブなWebサイトを作成する場合、掲示板は欠かせません。 WordPress プラットフォームでは、ユーザーがメッセージ機能を追加しやすくするために、メッセージ ボードを自動生成するプラグインを開発できます。この記事では、WordPress プラグイン開発を使用してこの目標を達成する方法を説明し、対応するコード例を示します。

ステップ 1: プラグイン フォルダーとメイン ファイルを作成する

まず、WordPress プラグイン ディレクトリにメッセージ ボード プラグインを配置するフォルダーを作成する必要があります。このフォルダーに「message-board」という名前を付けることができます。

このフォルダーに、「message-board.php」などのメイン ファイルを作成します。このファイルはプラグインのエントリ ファイルになります。

次に、次のコードを「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
*/

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

?>
ログイン後にコピー

このコードは、プラグインに基本情報を提供し、「plug-in.php」という名前のメッセージ ボードを作成します。

ステップ 2: データベース テーブルを作成する

メッセージ データを保存するには、データベース テーブルを作成する必要があります。これは、WordPress のデータベースを拡張することで実現できます。

「message-board.php」ファイルのメイン コード ブロックに、次のコードを追加します。

// 当插件激活时,调用该函数创建数据库表格
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 );
}
ログイン後にコピー

このコードは、プラグインがアクティブ化されたときに「create_message_board_table」関数を呼び出します。これにより、「wp_message_board」という名前のデータベース テーブルが作成されます。このテーブルには、id、author_name、message、submit_date などの列が含まれています。

ステップ 3: メッセージ ボード ページを作成する

次に、WordPress でメッセージ ボードを表示するページを作成する必要があります。これは、プラグインのメイン ファイルにショートコード関数を追加することで実現できます。

「message-board.php」ファイルのメイン コード セグメントに、次のコードを追加します。

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

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

    <h3 id="留言板">留言板</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();
}
ログイン後にコピー

このコードでは、「message_board」という名前のショートコードを登録し、掲示板を表示するページです。このページには、新しいコメントを送信するためのフォームと、送信されたコメントを表示するためのリストが含まれています。

ステップ 4: フォーム送信データの処理

ユーザーがメッセージを送信するとき、バックエンド処理関数を通じてメッセージ データをデータベースに保存する必要があります。

引き続き、「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;
    }
}
ログイン後にコピー

このコードでは、「handle_message_submission」という名前の関数を定義します。フロントエンドフォームの送信を処理します。この関数は、フォームから作成者の名前とメッセージの内容を取得し、そのデータをデータベースに挿入します。最後に、ページを掲示板ページにリダイレクトします。

ステップ 5: 送信されたメッセージを表示する

最後に、送信されたメッセージを表示する関数を作成する必要があります。

引き続き、「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 '暂时没有留言';
    }
}
ログイン後にコピー

このコードでは、「display_submitted_messages」という名前の関数を定義します。送信されたコメントをデータベースから取得し、ページに表示します。

これで、掲示板を自動生成するWordPressプラグインが完成しました。 WordPress バックエンドのプラグイン管理でこのプラグインを有効化した後、ページにショートコード「[message_board]」を追加することでメッセージボードを表示できます。

この記事が WordPress プラグインの開発に役立つことを願っています。

以上が掲示板を自動生成するWordPressプラグインの開発方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

wps ディレクトリのディレクトリ ページ番号を自動的に生成する方法 wps ディレクトリのディレクトリ ページ番号を自動的に生成する方法 Feb 27, 2024 pm 04:01 PM

WPS は、さまざまなオフィス タスクを効率的に完了するのに役立つ強力なオフィス ソフトウェアです。中でも目次ページ番号の自動生成は非常に実用的な機能です。ユーザーの作業効率が大幅に向上するため、この Web サイトの編集者が WPS を使用してディレクトリのページ番号を自動的に生成する方法を詳しく紹介する記事をお届けします。 wps ディレクトリの目次ページ番号を自動生成する方法 まず、wps グループ文書を開き、空白スペースに生成する目次の内容を入力し、タイトル 1、タイトル 2、スタート メニュー バーのタイトル 3。 2. 設定後、[参照]機能をクリックし、参照ツールバーの[ディレクトリ]をクリックします。

ディレクトリを自動生成する方法 自動生成されるディレクトリの形式を設定する方法 ディレクトリを自動生成する方法 自動生成されるディレクトリの形式を設定する方法 Feb 22, 2024 pm 03:30 PM

Wordでカタログのスタイルを選択すると、操作完了後に自動生成されます。分析 1. コンピューター上の Word に移動し、クリックしてインポートします。 2入力後、ファイルディレクトリをクリックします。 3 次に、ディレクトリのスタイルを選択します。 4. 操作が完了すると、ファイル ディレクトリが自動的に生成されることがわかります。補足: 概要/メモ記事の目次は、第 1 レベルの見出し、第 2 レベルの見出し、および第 3 レベルの見出しを含めて自動的に生成されます (通常は第 3 レベルの見出しまでです)。

自動応答 WordPress プラグインを開発する方法 自動応答 WordPress プラグインを開発する方法 Sep 05, 2023 am 08:49 AM

自動返信 WordPress プラグインの開発方法 ソーシャル メディアの人気に伴い、即時返信に対する人々の需要も高まっています。あなたが WordPress ユーザーであれば、サイト上のメッセージやコメントにタイムリーに応答できないという経験をしたことがあるかもしれません。この問題を解決するには、自動返信 WordPress プラグインを開発して、ユーザーのメッセージやコメントに自動的に返信できるようにします。この記事では、シンプルだが実用的な自動応答プラグインの開発方法を紹介し、理解を助けるコード例を示します。

PHP を使用して API ドキュメントを自動生成する方法 PHP を使用して API ドキュメントを自動生成する方法 Jun 06, 2023 am 08:01 AM

インターネット技術の継続的な発展に伴い、API はアプリケーション間のデータ対話を実現する重要な方法になりました。 API を作成するプロセスでは、必然的にドキュメントの作成とメンテナンスが重要な問題になります。ただし、API ドキュメントを手動で作成して保守する従来の方法は非効率的でエラーが発生しやすいため、継続的に反復を行うプロジェクトには適していません。 PHP を使用して API ドキュメントを自動的に生成すると、効果的に効率が向上し、エラーが削減されます。この記事では、PHPを使ってAPIドキュメントを自動生成する方法を紹介します。マニュアル

Java 14のRecordsクラスを使用してequals()メソッドとhashCode()メソッドを自動的に生成する方法 Java 14のRecordsクラスを使用してequals()メソッドとhashCode()メソッドを自動的に生成する方法 Jul 31, 2023 pm 01:52 PM

Java14 の Records クラスを使用して、equals() および hashCode() メソッドを自動的に生成する方法 Java プログラミングでは、多くの場合、クラス用にquals() および hashCode() メソッドを作成する必要があります。これら 2 つのメソッドは、オブジェクトの等価性コードとハッシュ コードを扱う場合に非常に重要です。このプロセスを簡素化するために、Java14 では新しい Records クラスが導入されています。 Records クラスは、equals() と hashCode の記述を簡素化する方法を提供します。

電子書籍を自動生成するWordPressプラグインの開発方法 電子書籍を自動生成するWordPressプラグインの開発方法 Sep 05, 2023 am 08:01 AM

電子書籍を自動生成する WordPress プラグインの開発方法 ソーシャル メディアと電子書籍リーダーの普及により、電子書籍は人々が知識を取得し共有するための重要な方法の 1 つになりました。 WordPress 開発者は、電子書籍を作成して発行する必要に直面するかもしれません。このプロセスを簡素化するために、電子書籍を自動的に生成する WordPress プラグインを開発できます。この記事では、そのようなプラグインを開発する方法を説明し、参考用のコード例を提供します。ステップ 1: 最初にプラグインの基本的なファイル構造を作成します

Excelで文書番号を自動生成する方法 Excelで文書番号を自動生成する方法 Mar 20, 2024 am 09:51 AM

データを追加するだけのフォームが最も基本的なフォームです。固定コンテンツの一部のドキュメント フォームはより複雑になります。Excel で作成されたドキュメントでは、継続性と信頼性を維持するために記録の便宜上、一部のコンテンツで何らかのデータを自動的に生成する必要があります。脱税を防ぐため、請求書と機械で印刷された請求書番号は自動的に連続します。これらの文書番号はどのように自動的に生成されるのでしょうか? 以下の説明を聞いてみましょう。たとえば、アウトバウンド注文の番号を生成する場合、通常は英語の文字と数字の組み合わせが使用されます。番号の英字部分には、文書タイプの最初の文字の大文字を使用できます。たとえば、送信文書の先頭に CK を付けることができます。方法 1: 0 ~ 1 の間の乱数を生成できる最も単純な rand 関数を使用します。したがって、私たちのエンコーディング

Java のコード生成ツールを使用して重複コードを自動的に生成するにはどうすればよいですか? Java のコード生成ツールを使用して重複コードを自動的に生成するにはどうすればよいですか? Aug 02, 2023 pm 12:00 PM

Java のコード生成ツールを使用して重複コードを自動的に生成するにはどうすればよいですか?はじめに: 開発プロセスでは、大量の繰り返しコードを記述する必要がある状況によく遭遇します。このような重複コードは開発効率に影響を与えるだけでなく、エラーの原因にもなりやすくなります。この問題を解決するには、Java のコード生成ツールを使用して重複コードを自動的に生成し、開発効率とコード品質を向上させます。 1. コード生成ツールの選択 Java には、MyBatisGenerator、

See all articles