在提交时删除WordPress数据库中的行/帖子

时间:2013-07-10 23:14:25

标签: php mysql wordpress wordpress-plugin

我正在尝试构建(我的第一个)存储表单数据的基本WordPress插件,我需要的一个选项是删除旧表单数据的能力。我一直在尝试尝试使用简单的查询,但我不断收到错误消息。错误读取'致命错误:在第5行的/ home / ..中的非对象上调用成员函数query()

所以理论上,当我点击提交时,它应该删除帖子。我离开了吗?非常感谢任何帮助。

插件管理页面 -

<h1>Form Data</h1>


<form action="next.php" method="post">

<input type="submit">


</form>

Next.php

<?php

global $wpdb;

$wpdb->query( $wpdb->prepare( "DELETE FROM wp_posts WHERE ID = 42" ) );

?>

2 个答案:

答案 0 :(得分:0)

如果您按原样运行代码。它不会起作用,因为你没有包含任何来自Wordpress的支持php文件。所以没有定义$ wpdb,因此你在其上调用的任何函数也没有定义。

看起来你正在错误地进行Wordpress插件开发。在他们的网站上查看他们的文档和APi。

答案 1 :(得分:0)

<?php

// Pulls in WordPress prerequisite code
include_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );

// Bring global variable $wpdb into local scope
global $wpdb;

// Run the database query
$wpdb->query( $wpdb->prepare( "DELETE FROM wp_posts WHERE ID = 42" ) );

?>