WordPress add_menu_page没有显示在后端

时间:2019-06-03 14:41:21

标签: php wordpress

我正在尝试使用以下代码创建自定义插件,但该页面的选项卡/链接未出现在WordPress仪表板中,而且我不确定自己做错了什么。我的company-admin.php文件位于我的plugins文件夹内的一个名为company-admin的文件夹内。如果相关,则php文件的文件权限为644。你能帮忙吗?

add_action( 'admin_menu', 'my_admin_menu' );

function my_admin_menu() {
    add_menu_page( 
        'Company Admin', 
        'Company Admin', 
        'manage_options', 
        'company-admin/company-admin.php', 
        '',
        '',
        6
    );
}

我不确定这是否是导航到我的插件的正确方法,但是我使用了此链接,如果链接错误,请更正我;

https://mywebpage.uk/wp-admin/admin.php?page=company-admin%2Fcompany-admin.php

我得到的是以下错误;

Sorry, you are not allowed to access this page.

Query Monitor
The message above was triggered by Core.

Call stack:

wp_die()
wp-admin/includes/menu.php:348

2 个答案:

答案 0 :(得分:0)

wordpress中的许可文件必须为755,才能正常工作。

要开发插件,请遵循wordpress官方指南https://developer.wordpress.org/plugins/intro/

让我知道。

答案 1 :(得分:0)

尝试向路径添加更多代码。代替'company-admin/company-admin.php',粘贴'your_plagin_folder/company-admin/company-admin.php',

已编辑
但更干净的方法是:

function wpdocs_register_my_custom_menu_page(){
    add_menu_page( 
        'Custom Menu Title',
        'custom menu',
        'manage_options',
        'custompage',
        'my_custom_menu_page',
        '',
        6
    ); 
}
add_action( 'admin_menu', 'wpdocs_register_my_custom_menu_page' );

/**
 * Display a custom menu page
 */
function my_custom_menu_page(){
    //print all what you need or include any pages
    include_once plugins_url('company-admin/company-admin.php', __FILE__);
}