是否挂接以编辑评论屏幕上的列?

时间:2013-01-30 作者:user1954882

现在我正在做

add_filter("manage_edit-comments_columns", function($columns) {
        unset($columns["author"]);
        $columns_one = array_slice($columns,0,1);
        $columns_two = array_slice($columns,1);
        $columns_one["user"] = "User";
        $columns = $columns_one + $columns_two;
        return $columns;
    });

add_filter( \'manage_comments_custom_column\', function($column, $column_id) {
        echo "Test";
    },10, 2 );
有没有办法只编辑作者栏而不是删除和创建我自己的?

2 个回复
最合适的回答,由SO网友:Oleg Butuzov 整理而成

此列没有筛选器。所以答案是“不”。

WP\\u List\\u Table在Lister类内搜索方法列{something}。Comments List类具有column\\u author。因此,请删除此列,并像现在一样创建过滤器。

SO网友:Igor Yavych

我来问这个问题是因为我需要一个类似的东西。而答案是qwerty-qwerty 是正确的,这样说只是部分正确。据我所知,作者需要更改列名,而我需要更改作者列本身的内容。所以,虽然这有点不同,但我还是把它留在这里,以防有人像我一样发现这个问题。如果您需要获取一些有关注释的附加数据,这些数据不存储在元表中,也不象所述的表那样缓存,并且不想对每个项目进行单独的查询,那么这也可以使用。

所以,你能做的就是the_comments 滤器此筛选器传递WP_Comment_Object 找到与请求匹配的每个注释的实例。在我的例子中,可以使用用户的显示名称以外的名称保存注释,因此在这种情况下,我需要从wp_users 表格并按如下方式显示comment_author_from_wp_comments (display_name_from_wp_users). 我查看了通过过滤器的数组,计算出哪些注释需要来自wp_users 表,运行了single 查询该表,然后使用新数据修改原始数组中的元素。下面是关于我的代码如何工作的一般想法:

function my_filter($objects)
{   
    global $current_screen;
    if (is_admin() && $current_screen->id == \'edit-comments\') // I only needed it on that screen within admin
    {
        if (count($objects) > 0)
        {
            foreach ($objects as $key => $object)
            {
                //find out which comments needed \'fixing\'
            }
            //do the actual fixing
        }
    }
    return $objects; //return modified or unmodified array
}
add_filter(\'the_comments\', \'my_filter\');
希望将来有人会觉得这很有用。

结束

相关推荐

如何使用GET_COMMENTS获取混合状态的评论?

有没有一种方法可以获得多个评论status 使用get_comments 作用比方说,我想两者兼得trash 和hold 评论。对于帖子也可以这样做:get_posts(array(\'post_status\' => \'draft,private,trash\')); get_posts(array(\'post_status\' => array(\'draft\', \'private\', \'trash\'))); 我想做的是:get_comments(array