我是插件开发的新手,目前正在为数据库开发自定义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中传递变量吗?
答案 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>';
}