با سلام
گام اول تعریف لینک با اکشن edit
p><a href="<?php echo add_query_arg(['action'=>'edit','item'=>$sample->ID]);?>">ویرایش</a></p>
تعریف فرم و گرفتن اطلاعات
<div class="wrap">
<h1>افزودن مورد جدید</h1>
<a href="<?php echo add_query_arg(['action' => null]); ?>">برگشت</a>
<br>
<br>
<?php foreach ($samples as $sample): ?>
<form method="post">
<table class="form-table">
</tr>
<tr valign="top">
<th scope="row">ID</th>
<td><?php echo $sample->ID; ?></td>
</tr>
<tr valign="top">
<th scope="row">نام</th>
<td><input type="text" name="name" value="<?php echo $sample->name; ?>"></td></td>
</tr>
<tr valign="top">
<th scope="row">تلفن</th>
<td><input type="text" name="phone" value="<?php echo $sample->phone; ?>"></td></td>
</tr>
<tr valign="top">
<th scope="row">سن</th>
<td><input type="text" name="age" value="<?php echo $sample->age; ?>"></td></td>
</tr>
<tr valign="top">
<th scope="row"></th>
<td><input type="submit" name="submit" value="اعمال تغیرات" class="submit-btn"></td>
</td>
</tr>
</table>
</form>
<?php endforeach; ?>
</div>
تعریف شرط با سویچ و دو کوئری اپدیت و در یافت
case "edit":
if (isset($_POST['submit'])) {
$wpdb->update($wpdb->prefix . 'api_plugin' ,[
'name' => $_POST['name'],
'phone' => $_POST['phone'],
'age' => $_POST['age']
],
[
'ID'=>$item
]);
}
$samples = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}api_plugin WHERE ID = $item", object);
include WAP_TPL . 'admin/menu/update.php';
break;
نکته : بهتره که اینکلود کردن و فراخوانی دادهها از دیتا بیس در اخر انجام بشه تا بعد بروز رسانی داده جدید ، دادههای جدید در همون فرم بروز بشه
با تشکر