如何使用我自己的插件在WordPress中创建自定义表格?

时间:2014-03-24 作者:Boopathi

我是WordPress插件开发的新手。这是我的核心PHP和HTML代码

create-table.html

  <form method="post" action="function.php">
    <input type="text" name="table_name">
    <input type="submit" name="create">
    </form>

function.php

if(isset($_POST[\'create\'])
{
$table-name=$_POST[\'table_name\'];

//create table query
header("location: add_table_attribute.php");
}
我想在我的WordPress插件开发中使用同样的过程。请任何人帮帮我。

提前谢谢。

2 个回复
最合适的回答,由SO网友:Rajeev Vyas 整理而成

Creating Tables with plugin 此页面显示如何在插件中使用表。该页面上的示例包括在插件安装期间创建表。但它也可以动态地用于创建表。见下文。

if(isset($_POST[\'create\'])
{
$table_name=$_POST[\'table_name\'];
Note : 不要在变量名中使用-

global $wpdb;
$sql = "CREATE TABLE $table_name (
  id mediumint(9) NOT NULL AUTO_INCREMENT,
  time datetime DEFAULT \'0000-00-00 00:00:00\' NOT NULL,
  name tinytext NOT NULL,
  text text NOT NULL,
  url VARCHAR(55) DEFAULT \'\' NOT NULL,
  UNIQUE KEY id (id)
);";

require_once( ABSPATH . \'wp-admin/includes/upgrade.php\' );
dbDelta( $sql );

//create table query
header("location: add_table_attribute.php");
}

SO网友:user159030
function create_custom_table()
{
    global $table_prefix, $wpdb;
    $tblname = \'custom_plugin\';
    $wp_track_table = $table_prefix . "$tblname ";
    #Check to see if the table exists already, if not, then create it
    if($wpdb->get_var( "show tables like \'$wp_track_table\'" ) != $wp_track_table)
    {
        $sql = "CREATE TABLE `wp_custom_plugin` (
                `id` int(11) NOT NULL AUTO_INCREMENT,
                `name` varchar(100) NOT NULL,
                `email` varchar(100) NOT NULL,
                `phone` varchar(100) NOT NULL,
                `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                 PRIMARY KEY (`id`)
                ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ";
        require_once( ABSPATH . \'/wp-admin/includes/upgrade.php\' );
        dbDelta($sql);
    }
}

 register_activation_hook( __FILE__, \'create_custom_table\' );
结束

相关推荐

Database for development

虽然构建插件,但我最大的烦恼之一是我的开发机器与实际安装不匹配。我这里的意思是,我的数据库缺乏。我会编写一些代码,认为它可以工作(因为它在开发过程中工作),然后发现它不能工作,因为我忽略了本地数据库中缺少的一个小细节。即使是我自己的在线安装也不包含完整的数据库。是否有一套预先填写了通常WP内容的db?甚至是自动添加行和列的脚本?我正在寻找不同角色、自定义帖子类型、分类法、评论等的用户,这些用户只能出于开发目的访问?如果没有,是否有人有一个旧站点的备份,他们想共享?