如何為WordPress插件添加問答功能

如何為WordPress插件添加問答功能

如何為WordPress插件添加問答功能

WordPress是一款強大而靈活的內容管理系統,而插件則為用戶提供了更多可定制的功能。在構建一個活躍的社區或者一個充滿互動的網站時,添加問答功能是一個非常好的選擇。本文將介紹如何為WordPress插件添加問答功能,并給出一些代碼示例。

  1. 創建自定義數據庫表
    問答功能需要一個地方來存儲問題和答案的數據。可以通過創建自定義的數據庫表來實現。以下是一個示例的MySQL數據庫表結構:
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函數來創建和更新數據庫表。下面是一個示例函數,用于創建問答表:

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 ); }
  1. 添加前臺頁面模板
    為了讓用戶提問和查看答案,需要創建相應的前臺頁面模板。可以在主題的文件夾中創建一個名為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-&lt;?php the_ID(); ?&gt;" post_class>&gt;                 <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-&gt;get_results( "SELECT * FROM $table_name ORDER BY create_date DESC" );          foreach ( $questions as $question ) {             echo '<h2>' . $question-&gt;question . '</h2>';             echo '<p>' . $question-&gt;answer . '</p>';         }         ?&gt;      </main> </div>  <?php get_sidebar(); get_footer();  ?>

在后臺,創建一個新的頁面,并選擇Q&A Template作為頁面模板。

  1. 添加問題提交和答案提交的功能
    在前臺頁面中,添加一個表單,讓用戶可以提交問題。可以使用以下代碼示例:

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 ) ); } ?>

同樣地,為了讓管理員或其他用戶可以回答問題,可以添加以下代碼示例:

<h2>回答問題:</h2>  

prefix . ‘questions’; $answer = sanitize_textarea_field( $_POST[‘answer’] ); $question_id = 1; // 假設這是問題的ID $wpdb->update( $table_name, array( ‘answer’ => $answer ), array( ‘id’ => $question_id ) ); } ?>

請注意,這只是一個簡單的示例,還可以根據需要自行擴展。

通過以上步驟,就可以為WordPress插件添加問答功能。希望這篇文章能對你有所幫助,祝你在構建一個活躍的社區或者網站時取得成功!

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享