1

より良い言葉遣いがないため、wpデータベース機能があります。データベースへの標準的な INSERT と UPDATE データベースを実行します。post->ID を列として使用する必要があります。

ここに画像の説明を入力

post->IDpost_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を取得するという点でどこを見ればよいのかわかりません...

4

1 に答える 1