wordpress:如何在wordpress的wp_list_table类中启用编辑和删除操作按钮


wordpress: how to enable the edit and delete action button in wp_list_table class of wordpress

嗨,我正在编写一个插件,通过扩展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) );
}

但从管理页面上,当我点击这些链接时,什么都没有发生,只有我搜索到的每个软件的url都发生了变化,大多数示例都使用数组形式的静态数据,所以我想说的是,我如何通过$_GET[]方法将其激活,或者有其他方法吗?

返回设置页面,您应该为$GET值添加一个if语句。(即您的add(子)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的一部分。请参阅WordPress核心开发人员Andrew Nacin的评论。