创建新的管理菜单部分-在某种程度上,类似于自定义帖子类型的工作方式

时间:2011-10-07 作者:Exit

我已经断断续续地使用Wordpress多年了,但我还没有完全沉浸在这个框架中。我在创建使用自定义帖子类型的插件方面没有问题,但我希望在管理中添加一个新的部分,它不是针对帖子,而是针对我自己的自定义表。

我知道如何在安装插件时创建自定义表,我只是在寻找正确的信息来创建一个包含子部分的新菜单部分,但我很难找到答案。

我需要什么函数/挂钩?我会在那之后解决剩下的问题。

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

查看Administration Menus 事实上,在过去的几天里,我大量使用了它来创建一个子菜单,它帮助了我很多。它也会在顶级菜单中详细介绍。

您将特别需要add_menu_page() function 创建顶级菜单,以及add_submenu_page() function 创建子菜单。从这里开始,只需精心添加选项和设置字段。

对理解事物的流动也有很大帮助的是Otto\'s WordPress Settings API Tutorial.

SO网友:Shreyo

这是我在项目中使用的一段工作代码。我将此代码放在“lib”文件夹中的一个文件中。您还可以写入函数文件。

$themename = "Ondeweb";
$shortname = "odwb";
$position = \'63.3\'; 
$file_dir=get_bloginfo(\'template_directory\');
$icon = $file_dir."/images/wand.png";

add_menu_page($themename, $themename, \'administrator\', \'ondeweb-now\', \'ondeweb_admin\', $icon, $position);
}

function innUbud_add_subpage() {
    add_submenu_page( 
        \'ondeweb-now\' 
        , \'Ads List\' 
        , \'Advertisement List\'
        , \'manage_options\'
        , \'ondeweb-now-advertise\'
        , \'advertiseList\'
    );

    add_submenu_page( 
        \'ondeweb-now\' 
        , \'Home page videos\' 
        , \'Home page videos\'
        , \'manage_options\'
        , \'ondeweb-now-videos\'
        , \'videoList\'
    );

}

function advertiseList() {  
    require_once( get_template_directory() . \'/lib/advertise.php\' );
}

function videoList() {  
    require_once( get_template_directory() . \'/lib/videos.php\' );
}

在上面的代码中,“ondeweb now”是父菜单的slug,它表示子菜单slug的父菜单(ondeweb now Advertised&ondeweb now videos)

详细说明如下:add_menu_page &;add_submenu_page

结束

相关推荐

将目录路径传递给plugins_url()安全吗?

plugins_url() 函数接受插件slug或文件路径来构建URL。我有以下目录结构:/wp-content/mu-plugins/someplugin/css/file.css /wp-content/mu-plugins/someplugin/includes/file.php 我需要建立URL到file.css 在里面file.php. 我不能通过__FILE__ 因为这将是一个层次太深。plugins_url(\'css/file.css\', __FILE__ )