在空 WORDPRESS 上调用成员函数 insert()
Posted
技术标签:
【中文标题】在空 WORDPRESS 上调用成员函数 insert()【英文标题】:Call to a member function insert() on null WORDPRESS 【发布时间】:2015-07-07 06:54:38 【问题描述】:我正在为 wordpress 编写一个插件。我刚刚完成了我的管理页面。它有一个提交按钮。表单元素的动作属性正在发送到“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()
【问题讨论】:
【参考方案1】:您不能只编写一个直接的 PHP 页面并期望它能够工作。您需要将其编写为插件或在 Wordpress 框架内工作的东西。您得到的错误是 $wpdb object 未定义。如果你把它写成插件$wpdb
会自动为你定义。
How to Write a Wordpress Plugin
另一种选择是打开您自己的 mysql 连接并直接以这种方式进行插入。
How to insert data using mysqli
【讨论】:
【参考方案2】:您可以加载定义 wpdb 的核心功能
define( 'SHORTINIT', true );
require( BASE_PROY_ROOT.'/wp-load.php' );
如果只加载基本的 WP CORE,SHORTINIT 设置为“true”。 然后你可以使用 全球 $wpdb;
【讨论】:
以上是关于在空 WORDPRESS 上调用成员函数 insert()的主要内容,如果未能解决你的问题,请参考以下文章
wordpress 在functions.php第5行的非对象上调用成员函数add_section()
WordPress 定制程序错误:调用未知的成员函数 add_setting()
如何修复 WooCommerce 中的“未捕获的错误:在 null 上调用成员函数 get_tax_class()”?