【问题标题】:fatal error: call to a member function delete() on a non-object wordpress致命错误:在非对象 wordpress 上调用成员函数 delete()
【发布时间】:2015-03-03 08:19:20
【问题描述】:

我正在尝试从 db 中删除行并收到此错误。我用谷歌搜索并尝试了所有可能的解决方案仍然没有运气。我还提到了“global $wpdb”,但不知道为什么会出现这个错误。

<?php
if($_POST['array'])
{
    global $wpdb;
    $productArray = $_POST["array"];
    $count = count($productArray);
    $table_name = "wp_cause_woocommerce_product";

    for( $i=0; $i < $count; $i++ ){
        $wpdb->delete( $table_name, array( 'product_ID' => $productArray[$i] ), array( '%d' ) );
    }

}

【问题讨论】:

  • 你的表中有所有这些数组值吗?
  • 出于调试目的,我将 print_r($wpdb) 只是为了查看它是否填充了您真正想要的对象。你的代码看起来不错。
  • print_r($wpdb) 我这样做了.. 没有显示 =>Jordy 。是的,我拥有所有价值观 =>Feroz
  • 这个文件是在你的主题中还是在其他地方?
  • 文件路径:E:\xampp\htdocs\fundraise\wp-content\themes\aidreform\include\cs_product_delete.php

标签: php wordpress


【解决方案1】:

我认为问题在于您没有获得 WordPress 功能。

将此添加到代码的顶部。

define('WP_USE_THEMES', false); 
require_once( $_SERVER['DOCUMENT_ROOT'] . '/fundraise/wp-load.php' );

如果您更改项目路径,请确保将路径更新为 wp-load.php。

如果你以后要改变你的项目路径,你可以试试这个

define('WP_USE_THEMES', false); 
require_once( dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/wp-load.php');

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    我只是在页面顶部添加以下行及其工作。我必须将文件与 wp 功能关联起来:

    define('WP_USE_THEMES', false);
    require_once( $_SERVER['DOCUMENT_ROOT'] . '/fundraise/wp-load.php' );
    

    【讨论】:

      猜你喜欢
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 2013-11-25
      • 2012-05-30
      • 2016-08-30
      • 2015-02-06
      • 2012-05-14
      • 2013-11-19
      相关资源
      最近更新 更多