WordPress插件:管理区域中的自定义编辑页面?

时间:2018-11-07 20:16:48

标签: wordpress

我制作了自己的插件,允许用户通过电子邮件订阅。我创建了mysql表,并且当用户在前端订阅时,电子邮件被写入到我的表中。

现在我需要一些后端功能。我有包含所有用户数据(名称,电子邮件等)的表。但是现在我需要删除和编辑特定的行。

如何在Wordpress管理区域中创建自定义编辑页面?在我自己的网址上?类似于:/wp-admin/admin.php?page=subscribe-plugin&do=edit&id=10吗?以及如何在那里显示html表单?然后如何进行后期查询?要进行数据库更改?

我阅读了所有手册和“ codex”,但不知道如何做。

1 个答案:

答案 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' ) );