我正在为wordpress写一个插件。我刚刚完成了我的管理页面。它有一个提交按钮。表单元素的action属性发送到“database.php”文件。
这是database.php的代码:
<?php
global $wpdb;
$table_name = $wpdb->prefix . "ArmPoll_Questions";
if($_SERVER["REQUEST_METHOD"]=="POST")
{
$wpdb->insert($table_name, array('id'=>'','Question'=>'How r u?'));
}
?>
但它会导致一个错误
在null上调用成员函数insert()
你不能只是写一个直接的PHP页面,并期望它工作。你需要把它写成一个插件或在Wordpress框架内工作的东西。你得到的错误是没有定义$wpdb object。如果您将其作为插件编写,将自动为您定义$wpdb
。
How to Write a Wordpress Plugin
另一种方法是打开你自己的MySQL连接并直接以这种方式插入。
您可以加载定义了wpdb的核心功能
define( 'SHORTINIT', true );
require( BASE_PROY_ROOT.'/wp-load.php' );
如果仅加载WP CORE的基础,则SHORTINIT设置为“true”。然后你可以使用全局$ wpdb;