我创建了简单的插件,它在主页面中工作,但是当我创建一个指向用户的链接转到另一个页面以查看信息时,它会显示致命错误:未捕获错误:调用成员函数get_results()
我的代码是:
<?php
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM wp_customers");
?>
<body>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Family</th>
<th>Numbers</th>
<th>Tell</th>
</tr>
<?php foreach($results as $results){
?>
<tr>
<td>
<?php echo $results->id; ?>
</td>
<td>
<?php echo $results->name; ?>
</td>
<td>
<?php echo $results->family; ?>
</td>
<td>
<?php echo $results->numbers; ?>
</td>
<td>
<?php echo $results->tell; ?>
</td>
<?php }?>
</tr>
</table>
答案 0 :(得分:1)
您需要检查是否未将数据库前缀设置为&#39; wp _&#39;以外的其他内容。
如果你在数据库中有wp_前缀,那么你必须在自定义页面上包含wp-load文件。
require( '/path/to/wp-load.php' );
答案 1 :(得分:0)
如果它是一个插件,那么你应该将你的代码封装在一个函数中并将这个函数挂钩到wordpress&#34; init&#34;动作,所以在你的插件文件中你应该有这样的东西:
var monthArray = Array<JSON>
var allEventsInDayArray:Array<JSON> = [] // an empty array
for (_,dayObj) in monthArray
{
guard let dayEventsArray = dayObj["events"].array else { break }
allEventsInDayArray.appendContentsOf(dayEventsArray)
}
print(allEventsInDayArray)
var allEventsJSON:JSON? = JSON(allEventsInDayArray)
var EventModelArray:Array<EventModel>? = Mapper<EventModel>().mapArray(allEventsJSON?.object.allValues)