我一直在开发一个插件,希望在其中创建一个表,其样式和工作方式与Wordpress的原生帖子/页面表类似。
按照下面的指南,我能够创建表并加载数据库。我唯一不知道该怎么做的就是如何使其中一行内容“可单击”。
http://wpengineer.com/2426/wp_list_table-a-step-by-step-guide/
IE-使“名称”列可单击。我在名字下面有“编辑,删除”按钮,但这还不够。
如有任何建议,将不胜感激。我查看了另一个插件来了解他们是如何做到这一点的,看起来他们将表拆分并为表硬编码了html。我希望我不必这样做。
编辑:
帖子的名字,你好,世界!,如您所见,是一个链接/可单击。
SOLUTION
为了实现这一点,我必须删除自定义列函数,其中包括行操作。事实证明,您可以简单地调用row actions div!这是帮助我的功能,感谢Milo。
function single_row_columns($item) {
list($columns, $hidden) = $this->get_column_info();
foreach ($columns as $column_name => $column_display_name) {
$class = "class=\'$column_name column-$column_name\'";
$style = \'\';
if (in_array($column_name, $hidden))
$style = \' style="display:none;"\';
$attributes = "$class$style";
if (\'cb\' == $column_name) {
echo "<td $attributes>";
echo \'<input type="checkbox" name="id[]" value="%s" />\', $item[\'ID\'];
echo "</td>";
}
elseif (\'galname\' == $column_name) {
echo "<td $attributes>";
echo \'<a href="#">\', $item[\'galname\'];
echo "</a>";
echo "<div class=\'row-actions\'><span class=\'edit\'>";
echo sprintf(\'<a href="?page=%s&action=%s&gid=%s">Edit</a>\',$_REQUEST[\'page\'],\'edit\',$item[\'id\']);
echo "</span> | <span class=\'trash\'>";
echo sprintf(\'<a href="?page=%s&action=%s&gid=%s">Delete</a>\',$_REQUEST[\'page\'],\'delete\',$item[\'id\']);
echo "</span></div></td>";
}
else {
echo "<td $attributes>";
echo $this->column_default( $item, $column_name );
echo "</td>";
} } }
非常感谢!雅各布