Options Framework 如何将菜单移动到顶级菜单?

打开 inc/includes/class-options-framework-admin.php 文件,然后知道其中的 add_custom_options_page 方法,将其代码替换为如下代码

public function add_custom_options_page()
    {
        $menu = $this->menu_settings();
        switch ($menu['mode']) {
            case 'menu':
                // http://codex.wordpress.org/Function_Reference/add_menu_page
                $this->options_screen = add_menu_page(
                    $menu['page_title'],
                    $menu['menu_title'],
                    $menu['capability'],
                    $menu['menu_slug'],
                    array($this, 'options_page'),
                    $menu['icon_url'],
                    $menu['position']
                );
                break;
            default:
                // http://codex.wordpress.org/Function_Reference/add_submenu_page
                $this->options_screen = add_submenu_page(
                    $menu['parent_slug'],
                    $menu['page_title'],
                    $menu['menu_title'],
                    $menu['capability'],
                    $menu['menu_slug'],
                    array($this, 'options_page'));
                break;
        }
    }
Code language: PHP (php)

添加完成后,在你的主题的 functions.php 文件中添加如下代码:

function harvardchina_options_menu_filter($menu)
{
    $menu['mode'] = 'menu';
    $menu['page_title'] = 'Harvard 主题设置';
    $menu['menu_title'] = 'Harvard 主题设置';
    $menu['menu_slug'] = 'harvardchina-options';
    return $menu;
}
add_filter('optionsframework_menu', 'harvardchina_options_menu_filter');
Code language: PHP (php)

就可以实现将主题配置移动到顶级菜单。

reference:

https://gist.github.com/devinsays/884d6abe92857a329d99