注册自定义post类型时,请设置参数show_in_nav_menus
到TRUE
, WordPress会自动为您创建框。这也适用于自定义分类法。
例如,需要PHP 5.4或更新版本。
add_action( \'wp_loaded\', function() {
$post_type = \'foo\';
add_action( \'registered_post_type\', function( $registered ) use ( $post_type ) {
if ( $registered !== $post_type )
return;
register_taxonomy(
\'bar\',
$post_type,
[
\'label\' => \'Bars\',
\'public\' => TRUE,
\'show_in_nav_menus\' => TRUE
]
);
});
register_post_type(
$post_type,
[
\'label\' => \'Foo\',
\'public\' => TRUE,
\'show_in_nav_menus\' => TRUE
]
);
});
为其他任何内容添加自定义框更为困难。好
adding 这很简单,它只是一个带参数的元盒
$screen
设置为
nav-menus
:
add_action( \'admin_init\', function() {
add_meta_box(
\'test\',
\'Custom Box\',
function() {
print \'Insert content here.\';
},
\'nav-menus\',
\'side\',
\'low\'
);
});
困难的部分是以下操作:为列表项创建适当的HTML,用AJAX请求保存这些项,并在前端的nav菜单中呈现它们。检查内置框的详细信息。重复和解释这需要一本小说。
两个代码示例的输出应如下所示:
您可以看到帖子类型的框Foo, 分类学Bars 以及Custom Box. Form 是我自己在那次安装中的帖子类型之一,Location 在我的分类法中Languages 使用多语言印刷机构建的多语言网络中所有可用语言的自定义框。