WordPress管理菜单定义的功能是独立文件

时间:2015-03-01 作者:kks21199

这是我当前的代码,

aio\\U菜单。php

<?php
defined( \'ABSPATH\' ) or die( \'No script kiddies please!\' );
add_action( \'admin_menu\', \'AIO_menu_creator\' );
function AIO_menu_creator() {

    add_menu_page( \'AIO WooCommerce Plugin\', \'AIO\', \'manage_options\', \'aio-dashboard\', plugins_url(\'AIO-WooCommerce-Plugin/menu/aio_dashboard.php\'), plugins_url(\'AIO-WooCommerce-Plugin/ico.png\') , \'81.912514514511451\' ); 
}
require_once \'aio_dashboard.php\';

?>
aio\\U仪表板。php

<?php

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>\';
}

add_action( \'current_screen\', \'my_plugin_options\' );

?>
the image of the page

在我的主插件文件中,

require_once \'menu/aio_menu.php\';

我想添加子菜单项,如仪表板、发货编辑器、价格说明符等。

因此,aio\\U菜单将指定所有我的菜单,我将为页面内容指定aio\\U仪表板等。

现在,我想对齐页面中间的内容,并确保正确显示所显示的通知。我知道我在aio\\U仪表板文件中做错了什么。

有谁能建议我如何正确获取页面中所需的内容吗?就这个,

h3标题仪表板

在它下面

\'此处显示内容\'

它应该在管理页面中。

这是一个我想要我的内容的例子,enter image description here

我用inspect元素编辑了它。你可以比较第一幅图像和第二幅图像,那么你有没有办法把它放在正确的位置呢?

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

这个$function 的参数add_menu_page 应该是生成页面输出的函数,如果省略,则$menu_slug 参数可以是包含后将输出菜单页的文件。

但您现在的输出与add_menu_page 打电话,问题是你需要aio_dashboard.php, 它有一个连接到current_screen. 这个current_screen 操作不应该生成输出,这不是它的目的,它在加载过程中触发得太早。其目的是根据当前查看的管理页面添加过滤器和操作。

更改add_menu_page $function 参数以包含输出页面内容的函数,请删除add_action 将该函数挂接到current_screen.

SO网友:kks21199

对于任何想要添加自己的管理菜单的人;)格式为,

<?php add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position ); ?>

<?php add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function ); ?>

(摘自wordpress codex)

<?php
    defined( \'ABSPATH\' ) or die( \'No script kiddies please!\' );
    add_action( \'admin_menu\', \'mgg_aio_menu_creator\' );
    function mgg_aio_menu_creator() {

        add_menu_page( \'AIO WooCommerce Plugin\', \'AIO\', \'manage_options\', \'aio-dashboard\', \'mgg_aio_dashboard\', plugins_url(\'AIO-WooCommerce-Plugin/ico.png\') , \'81.912514514511451\' ); 
        add_submenu_page( \'aio-dashboard\', \'AIO WooCommerce Plugin\', \'Dashboard\', \'manage_options\', \'aio-dashboard\', \'mgg_aio_dashboard\');
        add_submenu_page( \'aio-dashboard\', \'Shipping Options | AIO WooCommerce Plugin\', \'Shipping Options\', \'manage_options\', \'aio-shipping-options\', \'mgg_aio_shipping_options\');
    }
    require_once \'aio_dashboard.php\';
    require_once \'aio_shipping_options.php\';
    ?>
你会有这样的菜单,enter image description here

结束

相关推荐

身份验证/登录机制(非wp-admin)

我正在制定一个主题。我需要有一个用户登录系统,允许用户在登录后查看应用程序的所有内容并与之交互(而不是管理面板登录)。我需要在开始时将所有流量重定向到登录。如果用户未登录,请使用php页面代替wordpress“主页”(page.php)。否则,降落在“家”中。在wordpress中不使用插件的正确方法是什么?