如何链接到插件目录中的php文件?

时间:2016-01-15 作者:Alternatex

基本上在wp-admin 第一节有一个页面,我试图从网格中导出一些记录。我有一个出口链接admin.php?page=download&selected_ids=1,2,4. 但当我单击它时,我得到以下错误:

您没有足够的权限访问此页面。

我想我需要先在WordPress中注册这个页面,然后才能通过URL访问它。该页面只是一个名为download.php 所以我不希望它出现在任何地方。它只允许我出口一些东西,它位于my-plugin-directory/lib/download.php.

2 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

您可以使用admin.php?action=my_action WordPress将触发等效的动作挂钩:

// How to get the URL
$url = admin_url( "admin.php?action=wpse_21460_export&any_other_arguments" );

// How to handle the URL
function wpse_21460_export() {
   // Do your export and exit
}

add_action( \'admin_action_wpse_21460_export\', \'wpse_21460_export\' );
查看WordPress如何将挂钩名称格式化为admin_action_{value_of_action_param}

SO网友:C C

我相信您需要通过add_menu_page - 但是,在您注册的显示页面的回调函数中,您可以根据需要重新定向离开页面(或者只显示您自己的消息)。

您也可以通过调用remove_menu_page 就在你添加它之后。这应该使页面保持注册状态(具有所需的访问权限等),但只是防止它出现在菜单上。

相关推荐

在将代码添加到函数后无法登录WordPress wp-admin。php

我在函数末尾添加以下代码。php文件,用于根据自定义帖子的帖子标题填充分类法。问题是,当我添加代码时,尝试登录wp admin时会出现以下错误。非常感谢您能帮助我们弄清楚为什么会发生这种情况。Error:错误:由于意外输出,Cookie被阻止。有关帮助,请参阅此文档或尝试支持论坛。Code: <?php function update_custom_terms($post_id) { // only update terms if