Après avoir lu de nombreuses questions et réponses et que beaucoup avaient posé la même question, je suivais les mêmes instructions que les personnes instruites, mais mon problème, cela ne fonctionne pas, je les utilise
Ça ne fonctionne pas
exemple de code
<?php
/*
Plugin Name: ContactUs
Plugin URI:
Description: Simple Plugin Developed for Testing purpose
Version: 1.0.0
Author: rajeshw
Author URI: codelisense.com
*/
//Creating table
function contact_installation(){
global $wpdb;
$table_name = $wpdb->prefix. "contactus";
if($wpdb->get_var ('SHOW TABLES LIKE' .$table_name ) != $table_name){
$sql= "CREATE TABLE" .$table_name. "(
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
require_once (ABSPATH. 'wp-admin/includes/upgrade.php' );
$wpdb->query($sql);
//had replaced the above line with this line
dbDelta($sql);
}
}
register_activation_hook(__FILE__, 'contact_installation');
La table n'est pas créée ... Aide s'il vous plaît
Votre notation de point et de citation est géniale. Essaye ça:
if($wpdb->get_var("SHOW TABLES LIKE '$table_name'" ) != $table_name){
$sql= "CREATE TABLE $table_name (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
);";
require_once (ABSPATH. 'wp-admin/includes/upgrade.php' );
dbDelta($sql);
}
Essayez ce code.
Créez un fichier comme "my_db.php" et collez ce code:
global $table_version;
$table_version = "1.0";
function func_table_contactus(){
creat_table_contactus();
}
function creat_table_contactus(){
global $wpdb;
global $table_version;
$table_contactus = $wpdb->prefix."contactus";
$slider_ver = get_option("table_version");
$check_table_contactus = $wpdb->get_var("SHOW TABLES LIKE '$table_contactus'");
if($check_table_contactus != $table_contactus || $slider_ver != $table_version ) {
$sql= "CREATE TABLE" .$table_name. "(
id INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
PRIMARY KEY (id)
)";
require_once(ABSPATH.'wp-admin/includes/upgrade.php');
dbDelta($sql);
update_option("table_version", $table_version);
}
else{
add_option("table_version", $table_version);
}
}
et dans votre fichier principal de plugin
<?php
/*
Plugin Name: ContactUs
Plugin URI:
Description: Simple Plugin Developed for Testing purpose
Version: 1.0.0
Author: rajeshw
Author URI: codelisense.com
*/
require "my_db.php";
add_action('plugins_loaded', 'func_table_contactus');
J'espère que vous trouverez votre solution