需求: 做一个页面,收集用户的申请意向,需要自定义表单
首先需要创建数据表
function install_coopertion() {
global $wpdb;
$table_name = $wpdb->prefix . "thetable";
if($wpdb->get_var("show tables like '$table_name'") != $table_name) {
$sql = "CREATE TABLE " . $table_name . " (
id mediumint(9) NOT NULL AUTO_INCREMENT,
time bigint(11) DEFAULT '0' NOT NULL,
name text NOT NULL,
phone text NOT NULL,
status int,
UNIQUE KEY id (id)
);";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
}
删除数据表
function drop_coopertion() {
// global $wpdb;
// $table_name = $wpdb->prefix . "thetable";
// $wpdb->query("DROP TABLE IF EXISTS " . $table_name);
}
注册
// 插件激活时,运行回调方法创建数据表, 在WP中添加表
register_activation_hook(__FILE__, 'install_coopertion');
// 插件停用时,运行回调方法删除数据表,删除表
register_deactivation_hook(__FILE__, 'drop_coopertion');
接下来创建菜单
function cooperation_edit_menu()
{
global $wpdb;
include 'cooperact.php';
}
function cooperation_admin_actions()
{
add_menu_page(
"合作意向申请", 页面的 title, 和显示在 标签里的一样
"申请列表", //在控制面板中显示的名称
'administrator', //要浏览菜单所要的最低权限
__FILE__, // 要引用该菜单的别名; 必须是唯一的
"cooperation_edit_menu", // 要显示菜单对应的页面内容所调用的函数
admin_url( '/images/media-button.png', __FILE ) //菜单的 icon 图片的 URL
);
}
注册
add_action('admin_menu', 'cooperation_admin_actions');
完整代码
Plugin Name: 合作意向申请
Description: 合作意向申请表单.
Author: Donald
Version: 1.0
Author Donald
*/
function install_coopertion() {
global $wpdb;
$table_name = $wpdb->prefix . "thetable";
if($wpdb->get_var("show tables like '$table_name'") != $table_name) {
$sql = "CREATE TABLE " . $table_name . " (
id mediumint(9) NOT NULL AUTO_INCREMENT,
time bigint(11) DEFAULT '0' NOT NULL,
name text NOT NULL,
phone text NOT NULL,
status int,
UNIQUE KEY id (id)
);";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
}
function drop_coopertion() {
// global $wpdb;
// $table_name = $wpdb->prefix . "thetable";
// $wpdb->query("DROP TABLE IF EXISTS " . $table_name);
}
// 插件激活时,运行回调方法创建数据表, 在WP中添加表
register_activation_hook(__FILE__, 'install_coopertion');
// 插件停用时,运行回调方法删除数据表,删除表
register_deactivation_hook(__FILE__, 'drop_coopertion');
function cooperation_edit_menu()
{
global $wpdb;
include 'cooperact.php';
}
function cooperation_admin_actions()
{
add_menu_page(
"合作意向申请",
"申请列表",
'administrator',
__FILE__,
"cooperation_edit_menu",
admin_url( '/images/media-button.png', __FILE ) //菜单的 icon 图片的 URL
);
}
add_action('admin_menu', 'cooperation_admin_actions');
增删改查
function cooperation_list() {
global $wpdb;
$cooperations = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "thetable order by id desc limit 10");
if (count($cooperations) <= 0) {
?>
申请列表
申请列表
姓名
联系方式
状态
申请日期
name;?>
编辑 |
phone; ?>
status == 1) {
echo '待处理';
} elseif ($coopera->status == 2) {
echo '处理中';
} elseif ($coopera->status == 3) {
echo '处理完毕';
} else {
echo '垃圾信息';
}
?>
time); ?>
prefix . 'thetable';
$result = $wpdb->query("DELETE FROM $table WHERE id = $id ");
if ($result == 1) {
$redirect_url = '?page=cooperation%2Fcooperation.php';
echo '';
exit;
}
}
function cooperation_edit($id) {
global $wpdb;
if (!is_numeric($id)) {
die("参数id错误");
}
$coopera = $wpdb->get_row("SELECT * FROM " . $wpdb->prefix . "thetable" . " WHERE id=$id");
?>
esc_sql($_POST['name']),
'phone' => esc_sql($_POST['phone']),
'status' => intval($_POST['status']) // 0: 垃圾信息, 1:待处理, 2:处理中, 3: 处理完毕
];
$condition['id'] = $id;
$result = $wpdb->update($wpdb->prefix . "thetable", $data, $condition);
$redirect_url = '?page=cooperation%2Fcooperation.php';
echo '';
exit;
}
cooperation_list();