尝试在URL中传递变量时“抱歉,您不能访问此页面”

时间:2018-07-11 15:32:54

标签: php wordpress

我是插件开发的新手,目前正在为数据库开发自定义CRUD插件。

我创建了一个管理页面,该页面在一个表中显示所有数据库项,并且我也可以添加到该数据库中。但是,当我尝试在URL中传递变量以编辑数据库中的项目时,出现“抱歉,您不能访问此页面”。

当前,它在查询表中显示数据库项,然后在每个循环中显示a,并在行中还带有删除按钮。

   <?php

   foreach ($results as $results) {
     echo '<tr>';
     echo '<td>' .$results->id. '</td>';
     echo '<td>' .$results->email. '</td>';
     echo '<td><a class="button" href="' .home_url(). '/wp-admin/admin.php?page=member-management%2Fdelete_member.php?id=' .$results->id. '">Remove</a></td>';
     echo '</tr>';
    }

    ?>

问题出在这里的href上:

    href="' .home_url(). '/wp-admin/admin.php?page=member-management%2Fdelete_member.php?id=' .$results->id. '"

如果我将其替换为:

    href="' .home_url(). '/wp-admin/admin.php?page=member-management%2Fdelete_member.php'"

它可以正常工作并转到我想要的页面,wordpress不允许在URL中传递变量吗?

1 个答案:

答案 0 :(得分:1)

修复变量,将第二个$results替换为$result。它按原样工作,但使您的代码更具可读性。

更重要的是,修复URL,将第二个?替换为&

foreach ($results as $result) {
    echo '<tr>';
    echo '<td>' .$result->id. '</td>';
    echo '<td>' .$result->email. '</td>';
    echo '<td><a class="button" href="' .home_url(). '/wp-admin/admin.php?page=member-management%2Fdelete_member.php&id=' .$result->id. '">Remove</a></td>';
    echo '</tr>';
}