我是wordpress的新手。我想从php文件运行一个sql,这个文件是从一个插件文件调用的。我的插件文件代码是:
if (confirm('Are You Sure You Want to Delete?')){
window.location.href = '../wp-content/plugins/delete_data.php?id=<?php echo $db_data['dynamicmenu_id']; ?>';
} else{
}
并且此代码从脚本运行。 我的delete_data.php文件代码如下:
dlt_opt();
function dlt_opt(){
global $wpdb;
var_dump($wpdb);
$dlt_id = $_GET['id'];
$result = $wpdb->query( $wpdb->prepare( "DELETE FROM ".$wpdb->prefix."dynamicmenu WHERE dynamicmenu_id=".$dlt_id ) );
}
但是在delete_data.php中创建错误,因为它没有找到$ wpdb并且为null。所以wpdb没有初始化,也无法找到wpdb类。我怎么能添加wpdb类? 错误信息是:
Fatal error: Call to a member function query() on a non-object in ...\htdocs\wordpress\wp-content\plugins\delete_data.php on line 7
需要帮助
答案 0 :(得分:5)
最好使用require_once(ABSPATH。'/ wp-load.php');
答案 1 :(得分:3)
我找到了自己的答案。我需要在该文件中包含wp-load.php。
require_once('../../wp-load.php');
虽然像这样删除不是一个好习惯。