WordPress 플러그인에 Q&A 기능을 추가하는 방법
WordPress는 강력하고 유연한 콘텐츠 관리 시스템이며 플러그인은 사용자에게 더 많은 사용자 정의 기능을 제공합니다. 활발한 커뮤니티나 대화형 웹사이트를 구축할 때 Q&A 기능을 추가하는 것은 좋은 선택입니다. 이 글에서는 WordPress 플러그인에 Q&A 기능을 추가하는 방법을 소개하고 몇 가지 코드 예제를 제공합니다.
CREATE TABLE wp_questions ( id INT AUTO_INCREMENT PRIMARY KEY, question VARCHAR(255), answer TEXT, user_id INT, create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
WordPress에서는 dbDelta
함수를 사용하여 데이터베이스 테이블을 생성하고 업데이트할 수 있습니다. 다음은 질문 및 답변 테이블을 생성하는 함수의 예입니다: dbDelta
函数来创建和更新数据库表。下面是一个示例函数,用于创建问答表:
function create_question_table() { global $wpdb; $table_name = $wpdb->prefix . 'questions'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id INT AUTO_INCREMENT PRIMARY KEY, question VARCHAR(255), answer TEXT, user_id INT, create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); }
template-qa.php
的文件,并在其中添加以下代码:<?php /* Template Name: Q&A Template */ get_header(); ?> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php while ( have_posts() ) : the_post(); ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <header class="entry-header"> <h1 class="entry-title"><?php the_title(); ?></h1> </header> <div class="entry-content"> <?php the_content(); ?> </div> </article> <?php endwhile; ?> <?php global $wpdb; $table_name = $wpdb->prefix . 'questions'; $questions = $wpdb->get_results( "SELECT * FROM $table_name ORDER BY create_date DESC" ); foreach ( $questions as $question ) { echo '<h2>' . $question->question . '</h2>'; echo '<p>' . $question->answer . '</p>'; } ?> </main> </div> <?php get_sidebar(); get_footer(); ?>
在后台,创建一个新的页面,并选择Q&A Template
<form action="" method="post"> <label for="question">问题:</label> <input type="text" name="question" id="question"> <input type="submit" value="提交问题"> </form> <?php if ( isset( $_POST['question'] ) && $_POST['question'] != '' ) { global $wpdb; $table_name = $wpdb->prefix . 'questions'; $question = sanitize_text_field( $_POST['question'] ); $user_id = get_current_user_id(); $wpdb->insert( $table_name, array( 'question' => $question, 'user_id' => $user_id ) ); } ?>
template-qa.php
라는 파일을 만들고 그 안에 다음 코드를 추가할 수 있습니다. <h2>回答问题:</h2> <form action="" method="post"> <textarea name="answer"></textarea> <input type="submit" value="提交答案"> </form> <?php if ( isset( $_POST['answer'] ) && $_POST['answer'] != '' ) { global $wpdb; $table_name = $wpdb->prefix . 'questions'; $answer = sanitize_textarea_field( $_POST['answer'] ); $question_id = 1; // 假设这是问题的ID $wpdb->update( $table_name, array( 'answer' => $answer ), array( 'id' => $question_id ) ); } ?>
Q&A 템플릿를 페이지 템플릿으로 사용합니다.
첫 페이지에 사용자가 질문을 제출할 수 있는 양식을 추가합니다. 다음 코드 샘플을 사용할 수 있습니다.
rrreee
마찬가지로 관리자나 다른 사용자가 질문에 답할 수 있도록 다음 코드 샘플을 추가할 수 있습니다. 🎜rrreee🎜 이는 단순한 예일 뿐이며 필요에 따라 확장할 수 있습니다. . 🎜🎜위 단계에 따라 WordPress 플러그인에 질문 및 답변 기능을 추가할 수 있습니다. 이 글이 도움이 되었기를 바라며, 활발한 커뮤니티나 웹사이트 구축에 성공하시길 바랍니다! 🎜위 내용은 WordPress 플러그인에 Q&A 기능을 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!