Php 提交时删除WordPress数据库中的行/帖子
我正在尝试构建(我的第一个)一个基本的WordPress插件来存储表单数据,我需要的选项之一是能够删除旧的表单数据。我一直在尝试让一个简单的查询工作,但我一直收到一条错误消息。错误显示为“致命错误:对/home/中的非对象调用成员函数query()。。第5行“ 所以理论上,当我点击提交时,它应该会删除帖子。我走远了吗?非常感谢您的帮助 插件管理页面-Php 提交时删除WordPress数据库中的行/帖子,php,mysql,wordpress,Php,Mysql,Wordpress,我正在尝试构建(我的第一个)一个基本的WordPress插件来存储表单数据,我需要的选项之一是能够删除旧的表单数据。我一直在尝试让一个简单的查询工作,但我一直收到一条错误消息。错误显示为“致命错误:对/home/中的非对象调用成员函数query()。。第5行“ 所以理论上,当我点击提交时,它应该会删除帖子。我走远了吗?非常感谢您的帮助 插件管理页面- <h1>Form Data</h1> <form action="next.php" method="post"
<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" ) );
?>
如果按原样运行代码。它不会起作用,因为您没有包含来自Wordpress的任何支持php文件。因此$wpdb没有定义,因此您在它上调用的任何函数也没有定义 看起来你的Wordpress插件开发不正确。查看他们网站上的文档和APi。
<?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" ) );
?>
您的Q中没有足够的信息(示例代码)。但是,您不需要next.php
,表单可以在管理页面中处理。另外,检查一下这是否有效:更改这个$wpdb->query($wpdb->prepare(“从wp_帖子中删除ID=42”)
只需$wpdb->prepare(“从ID=42的wp_帖子中删除”)代码>简短地解释一下这段代码的作用就好了