我设置了一个插件,由于使用了大量数据,我设置了一个自定义表,并扩展了WP\\u List\\u table类。我知道这是不推荐的,但定制的帖子类型不能提供我所需要的。我计划在发布这个项目时包括一个WP\\u List\\u Table类的副本,以防止任何不必要的bug。。。
无论如何,我有下面的代码,并且已经阅读了很多关于扩展WP\\u List\\u Table类的教程,但遇到了困难。
function column_name( $item ) {
$title = \'<strong>\' . $item[\'projectName\'] . \'</strong>\';
$actions = [
\'edit\' => sprintf( \'<a href="?page=%s&action=%s&project=%s">Edit</a>\',
$_REQUEST[\'page\'], \'edit\', $item[\'projectID\'] ),
\'delete\' => sprintf( \'<a href="?page=%s&action=%s&project=%s">Delete</a>\',
$_REQUEST[\'page\'], \'delete\', $item[\'projectID\'] )
];
return $title . $this->row_actions( $actions );
}
当我单击“编辑”时,只会发生url更改。我不知道单击“编辑”按钮时,如何实际生成表单/管理页面来编辑/更新项目。单击“delete”(删除)时,我也会遇到重定向错误,我计划稍后再处理。我假设对于delete,我只需要确保有正确的SQL语句来从数据库中删除项目。
提前感谢您的帮助。
SO网友:Walf
显然,正确的方法是获取通常显示表的自定义页面返回的后缀,并在呈现任何管理内容之前使用它连接到页面加载。
add_action(\'admin_menu\', function() {
$page_hook_suffix = add_submenu_page( # or related function
…
function() {
# content of table page
}
);
if ($page_hook_suffix) {
add_action("load-$page_hook_suffix", function() {
# verify nonces, handle actions, redirect, etc.
});
}
});