簡體   English   中英

WordPress中的Ajax和php刪除錯誤

[英]Ajax and php delete error in WordPress

這是我第一次嘗試使用Ajax和PHP從MySQL中刪除一行。 我收到錯誤:

PHP致命錯誤:在第10行的/home/insightd/public_html/dev/wp-content/plugins/id-ffui/lib/delete.php中調用非對象上的成員函數delete()

一切正常,但行沒有刪除。

HTML表單的刪除部分:

  echo "<div class='ffui-media-item'>";
  echo "<div class='ffui-delete' align='center'><a href='#' id='" . $media_item['ID'] . "' class='delbutton' title='Click To Delete'>X</a></div>";

jQuery / Ajax部分:

<script type="text/javascript">
  $(function() {
   $(".delbutton").click(function(){
    //Save the link in a variable called element
    var element = $(this);

    //Find the id of the link that was clicked
    var del_id = element.attr('id');

    //Built a url to send
    var info = {"id" : del_id };
      if(confirm("Are you sure you want to delete this Record?")) {
        $.ajax({
          type: "POST",
          url: "<?php echo plugins_url('id-ffui/lib/delete.php') ?>",
          data: info,
          success: function(){   
          }
        });
        $(this).parents(".ffui-media-item").animate({ backgroundColor: "#fbc7c7" }, "fast")
          .animate({ opacity: "hide" }, "slow");
      }
    return false;
  });
});
</script>

和delete.php文件:

global $wpdb;
global $ffui_db_version;

$ffui_items = $wpdb->prefix . "ffui_items";

if($_POST['id']) {
  $id = $_POST['id'];
    $wpdb->delete( $ffui_items, array( 'ID' => `$id` ) );
}

任何幫助將不勝感激。 提前致謝。

反引號不正確:

$wpdb->delete( $ffui_items, array( 'ID' => `$id` ) );
                                           ^---^--

PHP在其代碼中不使用反引號。 它應該只是'ID' => $id

至於實際的錯誤消息,你似乎沒有包含wordpress庫,所以$wpdb實際上並不存在。

如果您顯示的代碼是delete.php的全部內容,則$ w​​pdb尚未實例化。 您需要先加載核心WP文件:

require_once( dirname( dirname( dirname( dirname( __FILE__ )))) . '/wp-load.php' );

其余的代碼都在此之后。 如果是這種情況,則不需要“全局”命令,因為您不在函數或對象內部操作。

這是對wp-load.php的一個很好的解釋

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM