我来问这个问题是因为我需要一个类似的东西。而答案是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\');
希望将来有人会觉得这很有用。