致命错误:在非对象wordpress上调用成员函数delete()

时间:2015-03-03 08:19:21

标签: php wordpress

我正在尝试从db中删除行并收到此错误。我用Google搜索并尝试了所有可能的解决方案仍然没有运气。我还提到了“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' ) );
    }

}

2 个答案:

答案 0 :(得分: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');

希望这有帮助。

答案 1 :(得分:0)

我只是在页面顶部添加以下行并使其正常工作。我不得不将文件与wp功能联系起来:

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