您可以在 ajax 调用期间使用函数来保存行吗?

can you use a function to save lines during an ajax call?

如果我没有正确表达我的标题,我深表歉意。我目前正在完成这个 Wordpress AJAX 挑战,我们需要根据插件的选择在屏幕上显示特定的 user-types。下面的函数是我的 AJAX 调用中调用的函数。我目前 运行 以下代码的多个实例,每个 user-type:

$user_roles = get_option( 'show_users' );
$count = 0;

if($user_roles['administrator']) {

    $users = get_users( array (
        'role' => 'administrator'
    ));

    foreach ($users as $user) {
        $result[$count] = $user->display_name;
        $count++;
    }

}

但是,我认为我可以创建一个可以节省一些代码的函数(甚至可以稍后使用 foreach 来节省更多),但代码似乎不起作用。我尝试使用的功能(随后调用该功能):

function save_time ($x) {
    if ($user_roles[$x]) {
        $users = get_users( array (
            'role' => $x
        ));

        foreach ($users as $user) {
            $result[$count] = $user->display_name;
            $count++;
        }
    }
}

save_time('administrator');

有什么我可以做的吗?我是否忘记了函数通常是如何工作的?谢谢!

您已经拥有一系列角色,因此您可以直接使用它。

foreach($user_roles as $role => $values) {
    $users = get_users( array (
        'role' => $role
    ));
    foreach ($users as $user) {
        $result[$count] = $user->display_name;
        $count++;
    }
}

那么您甚至不必为每种类型定义一个。