我写一个WordPress的插件,我需要打开一些PHP代码的新窗口,以显示来自数据库的信息。到目前为止,我让它工作的方法是将这些页面添加到插件的目录中,但这些文件不应该以这种方式访问。
我知道include()函数;然而,我只是让它在我的安装根中工作,而不是实际上在插件内部。每当我试图将myphp.php放入plugin文件夹中的目标文件夹时,我都会得到一个403错误。
我试过这个(https://stackoverflow.com/a/39800534/19996081)解决方案,这是我能找到的最接近我的问题的解决方案,但它不会改变任何事情。
这是我的插件页面,链接到myphp.php:
include(site_url("/wp-content/plugins/myPlugin/myphp.php"));
// some HTML...
<a href="<?php echo site_url("/wp-content/plugins/myPlugin/myphp.php"); ?>" target="blank">click</a>
和myphp.php:
<?php
require_once(dirname(__FILE__) . '/../../../../wp-config.php');
$wp->init();
$wp->parse_request();
$wp->query_posts();
$wp->register_globals();
$wp->send_headers();
// content goes here...
?>
我试着把文件放在不同的位置,只有当myphp.php和wp-config在同一个文件夹(根)时才有效。尝试不同的路径来达到wp-config(硬编码,$_SERVER)没有工作.
2条答案
按热度按时间g9icjywg1#
1.当用户登录时,在管理区域创建一个nonce:
1.使页面url像这样:
最好使用一个动态的url,而不是硬编码你的插件的名称,但这是另一个主题。
1.添加HTML链接:
1.在你的php文件中,做一些类似这样的事情:
tzdcorbm2#
使前端页面,并允许用户访问它的密码或东西. Wont show page in menu or menu