我从PHP / WordPress开发开始,我正在尝试构建一个小插件。
在我的管理页面中,我想创建一个链接,以便人们可以点击它并转到另一个页面,例如mypage.php。
我尝试了不同的东西,比如:
<a href="mypage.php">Click on my page</a>
还有一些其他变种,但我仍然得到相同的错误, 404页面未找到。也许我可以用submenu_page来做,但我仍然不知道如何与这种页面建立链接。
我的问题可能非常基本,但我不知道如何解决它,我无法找到我的具体案例的答案,所以我该如何解决?
答案 0 :(得分:1)
看起来您需要在插件后端的WordPress管理菜单中添加链接。这是一个非常简单的例子。
它将在“设置”顶级菜单下创建一个子级菜单项,选中后,该菜单项将显示一个非常基本的屏幕。注意:此代码应添加到主插件PHP文件或单独的PHP包含文件中。
<?php
/** Step 2 (from text above). */
add_action( 'admin_menu', 'my_plugin_menu' );
/** Step 1. */
function my_plugin_menu() {
add_options_page( 'My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options' );
}
/** Step 3. */
function my_plugin_options() {
if ( !current_user_can( 'manage_options' ) ) {
wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
}
echo '<div class="wrap">';
echo '<p>Here is where the form would go if I actually had options.</p>';
echo '</div>';
}
?>
有关更多详细信息,请参阅链接https://codex.wordpress.org/Administration_Menus。
答案 1 :(得分:1)
<a href="mypage.php"> click on my page </a>
这仅在mypage.php与链接所在页面位于同一目录中时才有效。
如果mypage.php位于当前页面目录的子文件夹中,您可以使用:
<a href="subfolder/mypage.php"> click on my page </a>
如果mypage.php位于不同的目录中,则必须导航到该目录。
<a href="../../superfolder/subfolder/mypage.php"> click on my page </a>
../
表示您在目录树中找到一个文件夹。所以在这个例子中你上2个文件夹,然后进入超级文件夹,然后进入子文件夹,mypage.php所在的位置。
您还可以创建根相对链接,其格式如下:
<a href ="/subfolder/mypage.php"> click on my page </a></a>
前导斜杠表示网站目录树的根目录,或最顶层的文件夹。然后向下导航到一个子文件夹,在那里找到mypage.php。
答案 2 :(得分:0)
如果您的网站中存在mypage.php,请尝试
<a href="/mypage.php/"> click on my page </a>
如果mypage.php是另一个网站的页面,请尝试将您的代码更改为:
<a href="http://yourdomain.com/mypage.php/"> click on my page </a>
答案 3 :(得分:0)
我的问题的解决方案是创建子菜单页面并链接到此子菜单。我在myplugin文件夹中创建了一个文件myplugin.php和一个文件mypage.php。这是在myplugin.php中编写的代码:
add_action('admin_menu','main_page');
function main_page(){
add_menu_page('Plugin de test','Test','manage_options','test','sub_page');
}
function sub_page(){
?>
<h1> Ma page pour tester les liens <h1> </br> </br>
<a href="admin.php?page=myplugin/mypage.php">Click here to see!!</a>
<?php
}
add_action( 'admin_menu', 'my_plugin_menu' );
function my_plugin_menu() {
add_submenu_page(NULL, 'page title', 'menu title', 'read', 'myplugin/mypage.php' );
}
谢谢大家的帮助,特别是Tarun Mahashwari