您好我正在编写一个插件,其中我通过扩展wordpress wp_list_table类显示了数据库中的各种条目.
要在每一行中显示一些动作链接,我已按以下方式使用此功能.
function column_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) );
}
但是从管理页面,当我点击这些链接时,没有任何事情发生只有网址更改我搜索每个器皿,大多数示例都使用数组形式的静态数据所以我想说的是我如何通过$_GET使其活动[]方法还是有其他办法吗?
解决方法:
返回设置页面,您应该为$GET值添加if语句. (即来自add(sub)menu_page调用的回调.
例如
if( isset( $_GET['edit-hotel'] ) ) :
// Show my edit hotel form
else :
// Show my WP_List_Table
endif;
当然,如果合适,您也可以在编辑表单上方显示列表 – 这只是一个示例.
请注意,WP_List_table类标记为@access private,因此不应将其真正用作API的一部分. See this comment from WordPress core developer Andrew Nacin.