Maison > Article > Tutoriel CMS > Comment ajouter une fonctionnalité Q&A à votre plugin WordPress
Comment ajouter une fonctionnalité Q&A au plugin WordPress
WordPress est un système de gestion de contenu puissant et flexible, tandis que les plugins offrent aux utilisateurs des fonctionnalités plus personnalisables. Lors de la création d’une communauté active ou d’un site Web interactif, l’ajout d’une fonctionnalité de questions-réponses est une excellente option. Cet article explique comment ajouter une fonctionnalité de questions-réponses à un plugin WordPress et donne quelques exemples de code.
CREATE TABLE wp_questions ( id INT AUTO_INCREMENT PRIMARY KEY, question VARCHAR(255), answer TEXT, user_id INT, create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Dans WordPress, vous pouvez utiliser la fonction dbDelta
pour créer et mettre à jour des tables de base de données. Voici un exemple de fonction pour créer un tableau de questions et réponses : 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
dans le dossier du thème et y ajouter le code suivant : <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 Template comme modèle de page.
Sur la première page, ajoutez un formulaire pour permettre aux utilisateurs de soumettre des questions. L'exemple de code suivant peut être utilisé :
rrreee
De même, pour permettre aux administrateurs ou à d'autres utilisateurs de répondre aux questions, l'exemple de code suivant peut être ajouté : 🎜rrreee🎜 Veuillez noter qu'il ne s'agit que d'un exemple simple et qu'il peut être étendu si nécessaire. . 🎜🎜En suivant les étapes ci-dessus, vous pouvez ajouter la fonction de questions et réponses au plug-in WordPress. J'espère que cet article vous a été utile et je vous souhaite du succès dans la création d'une communauté ou d'un site Web actif ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!