我正在写一个小动作插件。每次创建新帖子时,都应该在外部db中创建一个新表。表sholud的名称反映了新创建的post\\u id,但我不知道如何传递它。
这是我迄今为止的代码(对于php纯粹主义者,请原谅我使用了旧的mysql\\u connect(但将标志TRUE添加到新的\\u link参数中,我不必为wpdb globals等而烦恼)
function insert_new_table($post_id){
$usernamel = "secret";
$passwordl = "secret";
$hostl = "localhost";
$databasel ="secret";
$connect = mysql_connect($hostl, $usernamel, $passwordl, TRUE) or die("Error");
mysql_select_db($databasel) or die("Error, Cannot locate the database!");
$table_name = \'tablename4\'; //with this variable works
$postidl = get_the_ID(); // i\'m outside the loop .. so what?
$sql = "CREATE TABLE $postidl (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
UNIQUE KEY id (id)
);";
$query = mysql_query($sql);
return $post_id;
}
add_action( \'wp_insert_post\', \'insert_new_table\' );
在我的$sql查询中使用var$table\\u名称,一切都很顺利;但我无法传递当前正在保存的帖子的post\\u id(不知道如何获取!)有什么提示吗?