如何在行上添加编辑|删除按钮?

时间:2017-09-14 作者:vanloc

我想用动作渲染列。

当鼠标悬停在行上时,Edit | Delete 链接显示。

功能出现问题column_name($item).

我不知道为什么不运行此函数。

我试图添加wp_die() 但没有任何更改。

我编写了类扩展WP_List_Table:

class Custom_Table_Example_List_Table extends WP_List_Table
{
    function __construct()
    {
        global $status, $page;

        parent::__construct(array(
            \'singular\' => \'dathangnhanh\',
            \'plural\' => \'dathangnhanhs\',
        ));
    }

    /**
     * [OPTIONAL] this is example, how to render column with actions,
     * when you hover row "Edit | Delete" links showed
     *
     * @param $item - row (key, value array)
     * @return HTML
     */
    function column_name($item)
    {
        // links going to /admin.php?page=[your_plugin_page][&other_params]
        // notice how we used $_REQUEST[\'page\'], so action will be done on curren page
        // also notice how we use $this->_args[\'singular\'] so in this example it will
        // be something like &dathangnhanh=2
        $actions = array(
            \'edit\' => sprintf(\'<a href="?page=persons_form&id=%s">%s</a>\', $item[\'id\'], __(\'Edit\', \'cltd_example\')),
            \'delete\' => sprintf(\'<a href="?page=%s&action=delete&id=%s">%s</a>\', $_REQUEST[\'page\'], $item[\'id\'], __(\'Delete\', \'cltd_example\')),
        );
        return sprintf(\'%s %s\',
            $item[\'madonhang\'],
            $this->row_actions($actions)
        );
    }

    /**
     * [REQUIRED] This method return columns to display in table
     * you can skip columns that you do not want to show
     * like content, or description
     *
     * @return array
     */
    function get_columns()
    {
        $columns = array(
            \'cb\' => \'<input type="checkbox" />\', //Render a checkbox instead of text
            \'id\' => __(\'STT\', \'cltd_example\'),
            \'madonhang\' => __(\'Mã Đơn Hàng\', \'cltd_example\'),
            \'hoten\' => __(\'Họ Tên\', \'cltd_example\'),
            \'sdt\' => __(\'Số Điện Thoại\', \'cltd_example\'),
            \'email\' => __(\'Email\', \'cltd_example\'),
            \'tensp\' => __(\'Tên Sản Phẩm\', \'cltd_example\'),
            \'diachinhan\' => __(\'Địa Chỉ Nhận\', \'cltd_example\'),
            \'soluong\' => __(\'Số Lượng\', \'cltd_example\'),
            \'thanhtien\' => __(\'Thành Tiền\', \'cltd_example\'),

        );
        return $columns;
    }
}

1 个回复
最合适的回答,由SO网友:Milan Petrovic 整理而成

根据您的代码,您没有名为“name”的列。方法column\\u name将显示列“name”的列内容。例如,你有一个名为“madonhang”的专栏。该列的方法将称为“column\\u madonhang”。每列都有自己的同名方法。

结束

相关推荐

插件放置在/wp-content/plugins内的文件夹中时不保存值

我得到了WordPRess插件的以下代码,它在每个页面/后期编辑屏幕上添加了两个自定义输入。然后将这些值保存并输出到前端页面的标题中。如果代码位于内部,则可以正常工作。php文件并直接放入“wp内容/插件”。然而,如果我把它放在插件(如“wp-content/plugins/myplugin”)中自己的文件夹中,那么在通过编辑屏幕保存帖子/页面时,输入字段不会保存。此外,它不会向前端页面html标题部分输出任何内容。这似乎是一个被放弃的项目,所以我无法与原始开发人员一起制定解决方案。然而,代码中的某些内容