首页 > 解决方案 > 通过 POST 执行 SQL 查询

问题描述

我已经设置了一个自定义设置页面,并在以下部分添加了一个字段

add_settings_field("delete-commands", "Delete Commands", "delete_commands", "demo", "section");
register_setting("section", "delete_commands");

想在提交删除按钮时执行delete_commands函数

在此处输入图像描述

以下代码提交后并没有删除订单,刷新设置页面。想知道哪里出了问题,谢谢。

function delete_commands()
{
  global $wpdb;
  ?>
  <form method="post">
   <input class="btn" style="float:none;" type="submit"  name="delete" value="Delete all orders"  />
 </form>

  <?php
  if (isset($_POST['delete'])) {
        //global $wpdb;
        $table_name = $wpdb->prefix;
        $wpdb->query(
          "DELETE  FROM {$table_name}_woocommerce_order_itemmeta;
           DELETE FROM  {$table_name}_woocommerce_order_items;
           DELETE FROM  {$table_name}_comments WHERE comment_type = 'order_note';
           DELETE FROM  {$table_name}_postmeta WHERE post_id IN ( SELECT ID FROM  {$table_name}_posts WHERE post_type = 'shop_order' );
           DELETE FROM  {$table_name}_posts WHERE post_type = 'shop_order';
      ");

    }
}

标签: wordpresswoocommerce

解决方案


推荐阅读