메시지 보드를 자동으로 생성하는 WordPress 플러그인 개발 방법
대화형 웹사이트를 만들 때 메시지 보드는 필수입니다. 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 */ // 在这里编写插件的主要代码 ?>
이 코드는 플러그인에 기본 정보를 제공하고 "Message Board"라는 플러그인을 생성합니다.
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>留言板</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 백엔드의 플러그인 관리에서 이 플러그인을 활성화한 후 페이지에 단축 코드 "[message_board]"를 추가하면 메시지 보드를 표시할 수 있습니다.
이 기사가 WordPress 플러그인 개발에 도움이 되기를 바랍니다!
위 내용은 게시판을 자동으로 생성하는 WordPress 플러그인을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!