我正在通过扩展类WP_List_Table来创建表。但是当我想将操作"编辑"和"删除"添加到我的行中时,我确实收到一个错误:
致命错误:不能将 stdClass 类型的对象用作数组 C:''xampp''htdocs'orskeanalyser''wp-content''plugins''aksjeanalyser''aksjeanalyser.php 在 228 行
这就是我的函数的外观:
function column_col_name($item){
$actions = array(
'edit' => sprintf('<a href="?page=%s&action=%s& hotel=%s">Edit</a>',$_REQUEST['page'],'edit',$item['id']),
'delete' => sprintf('<a href="?page=%s&action=%s&hotel=%s">Delete</a>',$_REQUEST['page'],'delete',$item['id']),
);
return sprintf('%1$s %2$s', $item['name'], $this->row_actions($actions) );
}
228行是这个:'edit' => sprintf('<a href="?page=%s&action=%s& hotel=%s">Edit</a>',$_REQUEST['page'],'edit',$item['id']),
也许它与$_REQUEST['page']
有关?
感谢您的帮助!
你需要
使用这样的东西
'edit' => sprintf('<a href="?page=%s&action=%s& hotel=%s">Edit</a>', $_REQUEST['page'], 'edit',$item->id)
你能var_dump($item)吗?我相信你的$item不是一个数组。尝试使用 $item->name, $item->ID 而不是 $item['name'], $item['id']
如果要从对象中获取某些属性,则需要使用
$object->property
语法,而不是$object['属性']