より良い言葉遣いがないため、wpデータベース機能があります。データベースへの標準的な INSERT と UPDATE データベースを実行します。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();
}
}
ここでは特別なことは何もありませんが、おそらくフックがadmin_init
? データベースに投稿するIDを取得するという点でどこを見ればよいのかわかりません...