List all sidebars in metabox

时间:2011-06-15 作者:Jukov

我正在尝试添加一个元框来选择每页的侧边栏。为了创建我使用的元数据库this class

施工相当简单:

$meta_boxes[] = array(
    \'id\' => \'sidebars_side\',
    \'title\' => \'Page Sidebar\',
    \'pages\' => array(\'page\', \'post\'),
    \'context\' => \'side\',
    \'priority\' => \'low\',

    \'fields\' => array(
        array(
            \'name\' => \'Sidebars\',
            \'id\' => \'tst_sidebars\',
            \'type\' => \'select\',
            \'options\' => array(                      
                ARRAY OF SIDEBARS GOES HERE

            ),
            \'multiple\' => false,

        )
    )
);
但是为了上帝的爱,我无法正确地构建阵列。我检查过了this post

这很好,但我不知怎么被卡住了。任何帮助都将不胜感激。

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

您使用的类接受select options数组中的value=>name对,因此

foreach ( $GLOBALS[\'wp_registered_sidebars\'] as $sidebar ) { 
    $sidebar_options[$sidebar[\'id\']] = $sidebar[\'name\'];
}
然后你可以使用$sidebar_options.

结束

相关推荐

Metabox在更新或发布时保存,但在保存草稿时不保存

我已经创建了自定义帖子类型,其中也包含我创建的自定义meta\\u框。目前,当我发布或更新帖子时,它们会保存,但当我在草稿模式下进行更改时,它们不会保存。add_action(\'save_post\', \'save_details\'); function save_details(){ if ( defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE ) { return $post_id; }&#