如何将数据添加到WordPress后端USERS部分的自定义列中?

时间:2019-12-10 作者:sansae

Can anyone help me with adding data to a new User table column that I added?

在wordpress后端的用户部分,我添加了一个名为“姓氏”的自定义列。现在,我想在该列中添加姓氏。

我已经看过了thisthis, 但什么都没起作用。

在我的功能中。php文件,下面的代码是我最接近在屏幕上显示内容的代码,但问题是它完全显示在用户列表/表之外(实际上就在它的正上方)

function last_name_value($column_name, $user_id) {
  if ( \'lname\' == $column_name ) {
    echo __(\'last name here\',\'text-domain\');
  }
}

add_action(\'manage_users_custom_column\', [$this, \'last_name_value\'], 10, 2);
值为10时,用户表上方会显示“last name here”(显然不是我想要的位置),但我应该注意,由于某种原因,它会删除5列中的所有数据。任何低于10的数字都不显示。

我相信这很容易,对吧?我做错了什么?

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

  1. manage_users_custom_column 是一个过滤器挂钩,因此您应该使用add_filter() 而不是add_action(). 这也意味着您应该返回输出,而不是回显它。

    列名是第二个参数,而不是第一个参数,它是当前列的当前值。

    因此,请尝试:

    function last_name_value($output, $column_name, $user_id) {
      if ( \'lname\' == $column_name ) {
        return __(\'last name here\',\'text-domain\');
      }
      return $output;
    }
    
    add_filter(\'manage_users_custom_column\', [$this, \'last_name_value\'], 10, 3);