使用调用一个边栏创建多个管理小工具页

时间:2013-05-09 作者:user32225

有人知道如何使用调用特定侧栏创建多个管理小部件页面吗?

详细地

我有一个称为组的自定义帖子类型,我正在后端创建新的管理页面。

我在组中添加了一个子菜单,称为Widgets。我为组创建了一个侧栏,我想将此侧栏添加到组小部件页面。

所以,它就像通常的管理小部件页面一样,但只有一个侧栏。

目前为止

$post_type = $_REQUEST[\'post_type\'];
$retrieved_widgets = retrieve_widgets();
foreach ($retrieved_widgets as $key => $value) {
   if ( $key !== "groups-sidebar" ) {
    unset($retrieved_widgets[$key]);
    }
}

$wp_registered_sidebars = $retrieved_widgets;
//print_r($wp_registered_sidebars);
require_once(ABSPATH . \'wp-admin/widgets.php\');
此代码仅将组侧栏添加到组小部件页面。但我有一些错误,比如

Notice: Undefined index: class in D:\\wp-admin\\widgets.php on line 369 
因此,我猜有些东西缺失或配置不正确。

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

您的代码从小部件中删除键。其中一个键名为“class”。当WordPress查找“class”键时,它丢失了,PHP报告了这一情况。

我想你想要这个:

$groups_sidebars = array();

foreach ( retrieve_widgets() as $widget ) {
    if ( array_key_exists( \'groups-sidebar\', $widget ) )
        $groups_sidebars[] = $widget;
}

$wp_registered_sidebars = $groups_sidebars;

结束

相关推荐

Using tabs in admin widgets

更新:我应该指出,我在插件/主题选项页面上测试了下面的方法,效果非常好。事实上,我还能够包括jQuery cookie插件,以保留页面加载之间的当前选项卡选择(很好!)。当您有多个小部件选项时,尝试向管理小部件添加选项卡以减少表单占用空间。我正在使用WordPress附带的jQuery UI选项卡。以下是我迄今为止在插件中编写的代码。http://pastebin.com/fe4wdBcp当小部件被拖动到小部件区域时,选项卡似乎呈现为OK,但您无法单击查看第二个选项卡。更糟糕的是,如果刷新窗口小部件页面,