我制作了自己的插件,允许用户通过电子邮件订阅。我创建了mysql表,并且当用户在前端订阅时,电子邮件被写入到我的表中。
现在我需要一些后端功能。我有包含所有用户数据(名称,电子邮件等)的表。但是现在我需要删除和编辑特定的行。
如何在Wordpress管理区域中创建自定义编辑页面?在我自己的网址上?类似于:/wp-admin/admin.php?page=subscribe-plugin&do=edit&id=10吗?以及如何在那里显示html表单?然后如何进行后期查询?要进行数据库更改?
我阅读了所有手册和“ codex”,但不知道如何做。
答案 0 :(得分:1)
第一步是使用add_menu_page()功能创建一个顶层管理页面。
add_action( 'admin_menu', 'my_admin_menu' );
function my_admin_menu() {
add_menu_page( 'My Top Level Menu Example', 'Top Level Menu', 'manage_options', 'subscribe-plugin/subscribe-plugin-admin-page.php', 'subscribe-plugin_admin_page', 'dashboard-tickets', 6 );
}
该函数接受七个参数。
$ page_title (字符串)(必需)选择菜单时要显示在页面标题标签中的文本。
$ menu_title (字符串)(必填)用于菜单的文本。
$功能 (字符串)(必需)向用户显示此菜单所需的功能。
$ menu_slug (字符串)(必需)引用此菜单所用的子文件名。对于此菜单页面应该唯一,并且仅包含小写字母数字,破折号和下划线字符,以便与sanitize_key()兼容。
$功能 (可调用)(可选)将被调用以输出此页面内容的函数。 默认值:“
$ icon_url (字符串)(可选)此菜单使用的图标的URL。 *使用数据URI传递base64编码的SVG,该URI的颜色将与配色方案匹配。这应该以“ data:image / svg + xml; base64”开头。 *传递Dashicons助手类的名称以使用字体图标,例如'dashicons-chart-pie'。 *传递“ none”将div.wp-menu-image保留为空,以便可以通过CSS添加图标。 默认值:“
$ position (int)(可选)应在菜单顺序中显示该位置。 默认值:null
下一步是创建页面内容。您需要做的就是创建参数5中定义的函数并回显您的表单。
function subscribe-plugin_admin_page(){
?>
<div class="wrap">
<h2>Welcome To My Plugin</h2>
//Your form here
</div>
<?php
}
示例管理页面网址,带有额外的查询参数:
$query_args = array( 'page' => 'your-plugin-page', 'do' => 'edit' );
echo add_query_arg( $query_args, admin_url( 'subscribe-plugin/subscribe-plugin-admin-page.php' ) );