如何在所需选项页面下添加新的插件页面?

时间:2013-10-01 作者:Mayeenul Islam

使用WordPress Settings API tutorial 我创建了一个新的自定义菜单和相应的子菜单。我的每个菜单都有自己的一页。我用过add_menu_page()add_submenu_page() 为此。(Here is the Complete Code)

Admin--------
» 特殊管理员» 价格报价单

现在,我正在尝试制作一个插件,用于一些其他用途。我想将我的插件与我之前创建的自定义菜单集成。

我在“特殊管理”页面中放置了一个复选框,上面写着“激活报价”。当用户激活价格报价时,插件将生效。然后插件将在“Price Quote”子菜单\\u页面中可用。

在那里,我将在报价页面下制作一些具有某些功能的选项卡式页面。

我尝试了一个基本插件add_plugins_page():

<?php
/*
 * Plugin Name: Price Quotation
 * Plugin URI: http://www.example.com
 * Author: Mayeenul Islam
 * Author URI: http://www.example.com
 * Version: 1.0.0
 */
?>

<?php

function add_a_menu(){
    add_plugins_page(
        \'Price Factor\',
        \'Price Factor\',
        \'edit_posts\',
        \'edit_private_posts\',
        \'price_factor_callback\'
    );
}
add_action(\'admin_menu\', \'add_a_menu\');

function price_factor_callback(){
    echo "This is Price Quotation Page";
}

?>
但是这个admin_menu 过滤器在默认的“插件”菜单下添加了菜单。我如何才能调用菜单或我决定调用的菜单?

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

使用add_submenu_page 相反

 <?php add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function ); ?> 
$parent_slug 应为以下内容之一

For Dashboard: add_submenu_page( \'index.php\', ... ); Also see add_dashboard_page()
For Posts: add_submenu_page( \'edit.php\', ... ); Also see Also see add_posts_page()
For Media: add_submenu_page( \'upload.php\', ... ); Also see add_media_page()
For Links: add_submenu_page( \'link-manager.php\', ... ); Also see add_links_page()
For Pages: add_submenu_page( \'edit.php?post_type=page\', ... ); Also see add_pages_page()
For Comments: add_submenu_page( \'edit-comments.php\', ... ); Also see add_comments_page()
For Custom Post Types: add_submenu_page( \'edit.php?post_type=your_post_type\', ... );
For Appearance: add_submenu_page( \'themes.php\', ... ); Also see add_theme_page()
For Plugins: add_submenu_page( \'plugins.php\', ... ); Also see add_plugins_page()
For Users: add_submenu_page( \'users.php\', ... ); Also see add_users_page()
For Tools: add_submenu_page( \'tools.php\', ... ); Also see add_management_page()
For Settings: add_submenu_page( \'options-general.php\', ... ); Also see add_options_page()
示例:

add_submenu_page( \'tools.php\', \'My Custom Submenu Page\', \'My Custom Submenu Page\', \'manage_options\', \'my-custom-submenu-page\', \'my_custom_submenu_page_callback\' ); 

结束

相关推荐

使用jQuery删除存储在wp_Options中的数据

我想知道是否有人能就我的问题给我进一步的建议。我的插件的一部分存储了用于调试的日志文件。我已经使用jquery和wp\\u localise\\u脚本在我的管理页面的(div#log)中成功地显示了它们。我有一个删除这些日志的按钮,但我不确定如何处理。我觉得ajax可能会在这里派上用场,但不确定从哪里开始。以下是我的代码的相关部分:admin_enqueue_scripts (action) $args = array(get_option(\'wow_tweets_log\'));//log files