如何开发一个自动生成留言板的WordPress插件

2023-12-02 0 318

如何开发一个自动生成留言板的WordPress插件

如何开发一个自动生成留言板的WordPress插件

在创造一个互动的网站时,一个留言板是不可或缺的。在WordPress平台上,为了方便用户添加留言功能,我们可以开发一个自动生成留言板的插件。本文将介绍如何使用WordPress插件开发来实现这一目标,并提供相应的代码示例。

第一步:创建插件文件夹和主文件

首先,我们需要在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
*/

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

?>

这段代码为插件提供了基本信息,并创建了一个名为\”留言板\”的插件。

第二步:创建数据库表格

为了保存留言数据,我们需要创建一个数据库表格。这可以通过扩展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等列。

第三步:创建留言板页面

现在我们需要在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\”的短代码,并创建了一个用于展示留言板的页面。页面中包含一个表单用于提交新留言,以及一个用于展示已提交留言的列表。

第四步:处理表单提交数据

当用户提交留言时,我们需要通过一个后端处理函数来保存留言数据到数据库中。

继续在\”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\”的函数,用于处理前端表单的提交。函数会从表单中获取作者姓名和留言内容,并将数据插入到数据库中。最后,我们将页面重定向到留言板页面。

第五步:展示已提交的留言

最后,我们需要创建一个函数来展示已提交的留言。

继续在\”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插件的详细内容,更多请关注悠久资源其它相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Wordpress教程 如何开发一个自动生成留言板的WordPress插件 https://www.u-9.cn/jiaocheng/wordpress-jiaocheng/18252.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务