我有一个插件,可以在管理菜单中创建两个页面:
/wp-admin/admin.php?page=list-records
/wp-admin/admin.php?page=add-edit-record
我经常使用“将编辑记录添加到”
create 并将其放入wp数据库。另一方面,页面列表记录
lists all the records 我已经创建了plus允许我
delete record. 我想让添加编辑记录也
load 数据库中的某些现有记录
edit it (当然,事后保存)。但是,我如何调用add edit record来提供我要打开并处理的记录的信息呢?
我的想法(可能很天真)是将编辑记录的ID保存在wp数据库的某个配置选项中,并在打开“添加编辑记录”页面时始终检查该项,这在我看来非常复杂。或者使用某些数据作为参数调用add edit record page,如
/wp-admin/admin.php?page=add-edit-record&edit-id=999
但在这里,我不知道如何在添加编辑记录页面中获取此参数。
也许我的想法完全错了,所以任何建议都将不胜感激。谢谢
最合适的回答,由SO网友:TheDeadMedic 整理而成
继续你的最后一个想法-生成如下URL:
$raw_url = admin_url( \'admin.php?page=add-edit-record&edit-id=\' . $id );
$esc_url = esc_url( $raw_url ); // For href attributes and the like
然后在处理程序中
add-edit-record
:
if ( ! empty( $_GET[\'edit-id\'] ) && $id = absint( $_GET[\'edit-id\'] ) ) {
if ( ! $record = get_record( $id ) )
wp_die( \'Nope\' ); // Or something similar
}