当我们在开发wordpress主题或者插件时需要新的数据库储存我们的信息,下面我们就介绍如何创建,修改,增加,删除自定义数据库表。

1、wordpress创建数据库表

function add_table(){ //创建自定义分类表函数
global $wpdb;
$table_name = $wpdb->prefix . "types"; //声明表名 types为要创建的表名
$table_names = $wpdb->get_var("SHOW TABLES LIKE '$table_name'"); //获取声明的表判断是否存在
	if($table_names != $table_name){
		$sql = "CREATE TABLE " . $table_name . " (
			`tid` bigint(20) NOT NULL AUTO_INCREMENT,
			`term_id` bigint(20) NOT NULL,
			PRIMARY KEY (`tid`),
			UNIQUE KEY `term_id` (`term_id`)
		) ENGINE=MyISAM  DEFAULT CHARSET=utf8;";
		require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
		dbDelta($sql);

	}
}
add_table();

      tid:表中的字段   term_id:表中字段  可根据需求增加

2、wordpress增加数据库表字段 $wpdb->query()

      $wpdb->query()  中可为任意的增删改查sql语句

global $wpdb;
$table_name = $wpdb->prefix . "types"; //表名
$sql = $wpdb->query("ALTER TABLE  表名  ADD 字段名 CHAR(255)");
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);

3、wordpress数据库增删改查操作

增:$wpdb->insert() ,

global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
//增加数据
$sql = $wpdb->insert('wp_termmeta',array('term_id'=>8,'meta_key'=>'title','meta_value'=>'我是标题')); 
dbDelta($sql);

删:$wpdb->delete(),

global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
//删除数据表 wp_termmeta 中 meta_id 为 1 的数据  
$sql = $wpdb->delete( 'wp_termmeta', array( 'meta_id' => 1 ) );
dbDelta($sql);

改:$wpdb->update,

global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
//改  (修改meta_id等于80中的 meta_value中的值为我是修改后的标题 )
$sql = $wpdb->update('wp_termmeta',array('meta_value'=>'我是修改后的标题'),array('meta_id'=>80));  
dbDelta($sql);

  第一个数组为修改的内容,第二个为修改的条件

查:$wpdb->get_results

global $wpdb;
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
$sql = $wpdb->get_results("SELECT * FROM wp_termmeta WHERE term_id = '9' ");
for($i=0;$i<count($sql);$i++){
	echo $sql[$i]->meta_key;
	echo $sql[$i]->meta_value;
}
print_r($sql);

4、$wpdb是一个全局变量,包含多个关于wordpress数据库操作函数: 

$wpdb -> get_results('query');  
$wpdb->query('query');  
$wpdb->get_var('query',column_offset,row_offset);  
$wpdb->get_row('query', output_type, row_offset);  
$wpdb->get_col('query',column_offset);  
$wpdb->get_results('query', output_type);  
$wpdb->insert( $table, $data, $format );  
$wpdb->update( $table, $data, $where, $format = null, $where_format = null );  
$wpdb->prepare( 'query' [, value_parameter, value_parameter ... ] );  
$wpdb->show_errors();  
$wpdb->hide_errors();  
$wpdb->print_error();  
$wpdb->get_col_info('type', offset);  
$wpdb->flush();   

更多推荐

wordpress自定义创建数据库表_数据库增删改查操作