2010-07-02 141 views
0

我想创建一个wordpress插件管理菜单。我遇到的问题是菜单。我试图在管理员中添加一个页面,而不实际添加菜单链接。因此,例如我想要一个名为测试的菜单,然后我想要一些额外的页面,但我不想要物理链接到它们,因为它们只会在有ID传递给它们时才会使用。这是可能的,如果是这样,请有人解释,因为我似乎无法弄清楚。wordpress插件管理菜单

回答

1

是的。在管理页面的回调函数中,只需写出不同的部分并使用条件检查来显示正确的内容。然后,在该页面的标题下,添加一个<ul>,并带有subsubsub类别,其中包含将用户带到正确位置的链接。事情是这样的:

function my_awesome_admin_page(){ 
    echo '<h2>My Title</h2>'; 
    echo '<ul class="subsubsub"> <li><a href="?page=my-page">Foo</a></li> <li><a href="?page=my-page&foo=bar">Bar</a></li> </ul>'; 
    if($_GET['foo'] != 'bar'){ 
    //You're on the first page 
    } else { 
    //You're on the second page 
    } 
} 

我忘了类以表示当前子页面的东西,但你可以采取“添加插件”管理页面上看看。我认为这是selected

+0

感谢您的回复,但我一直在寻找可以添加页面的东西。例如,我的链接是?page = page_1或page = page_2。这可能吗? – ngreenwood6 2010-07-02 14:24:00

+0

不,不幸的不是。它必须在菜单中注册为一个页面才能这样做。我不知道你是如何实现这一点的,但你可能有兴趣将页面注册为新的顶层菜单项,然后将新页面注册为新顶层菜单的子菜单项。他们在这里: http://codex.wordpress.org/Adding_Administration_Menus 但是,这仍然会给物理链接的子菜单项。 – 2010-07-02 14:29:48

+0

是的,这是我想要避免的是创建sub_menu链接。我试图这样做的原因是因为它会像树(类别 - >项目 - >子项目),但我不希望你能够看到项目,直到你选择了一个类别。所以sub_menu是不需要的只是想要的物理页面,所以我不必在URL中有一个巨大的查询字符串像?page = my_page&edit = items&cat_id = 1&item_id = 2。只要使代码更清洁即可。感谢您的帮助会给您带来好处。 – ngreenwood6 2010-07-02 14:39:45