由于缺乏更好的措辞,我有一个 wp 数据库功能。它对数据库和更新数据库执行标准插入。我需要使用 post-> ID 作为列。
我无法让它插入post->ID
post_id 所在的位置..这是函数...
add_action( 'admin_init', 'brash_add_settings' );
功能 brash_add_settings($post_id) {
// Add slider
if(isset($_POST['submitted'])) {
// Get WPDB Object
global $wpdb;
// Table name
$table_name = $wpdb->prefix . "brash";
// Create new record
if($_POST['key'] == 0) {
// Execute query
$wpdb->query(
$wpdb->prepare("INSERT INTO $table_name
(post_id, name, data, date_c, date_m)
VALUES (%d, %s, %s, %d, %d)",
'',
'',
time(),
time()
)
);
// Empty slider
$slider = array();
// ID
$id = mysqli_insert_id();
} else {
// Get slider
$slider = $wpdb->get_row("SELECT * FROM $table_name ORDER BY id DESC LIMIT 1" , ARRAY_A);
// ID
$id = $slider['id'];
$slider = json_decode($slider['data'], true);
}
// DB data
$post = $post->ID;
$name = $wpdb->escape($slider['properties']['backgroundimage']);
$data = $wpdb->escape(json_encode($slider));
// Update
$wpdb->query("UPDATE $table_name SET
post_id = '$post',
name = '$name',
data = '$data',
date_m = '".time()."'
ORDER BY id DESC LIMIT 1");
// Echo last ID for redirect
echo $id;
die();
}
}
这里没有什么特别的,但我认为它没有得到 id 因为钩子可能是admin_init
?我只是不知道在哪里可以找到将 id 发布到数据库的方法......