自定义post类型本身绝对没有什么,但是如果您只存储来自几个输入字段的数据,其中每个字段都有自己的特定用途,那么您可能需要使用Settings API 相反移动你的插件(样式)的帖子类型和设置,并通过插件(功能)提供它们,这是一个极好的决定。
设置API相当简单。它允许将设置字段添加到现有的设置部分(常规、讨论、永久链接等),以及将子页面添加到管理部分中的任何顶级导航项目和您自己的顶级页面。根据需要,您可以将设置字段添加到现有页面或添加自己的页面。
This is a good example 如何在阅读设置页面中添加两个字段,下面有一个清晰的插图。基本上,要添加页面、子页面、设置部分和设置字段,您要做的是:
// Example code to illustrate page/subpage/setting relationships, might not work as intended or break
function wpse_90342_admin_menu {
// Top level menu page (http://codex.wordpress.org/Function_Reference/add_menu_page)
add_menu_page(\'Page title\', \'Menu item title\', \'manage_options\', basename(__FILE__), \'wpse_90342_page_callback\', plugins_url(\'images/icon.png\', __FILE__), 6);
// Sub menu page (http://codex.wordpress.org/Function_Reference/add_submenu_page)
add_submenu_page( basename(__FILE__), \'My Plugin Tools Page Title\', \'My Plugin Tools Menu Title\', \'manage_options\', \'my_plugin_tools\', \'wpse_90342_subpage_callback\' );
// Settings section
add_settings_section(\'eg_setting_section\', \'Example settings section on subpage\', \'eg_setting_section_callback_function\', \'my_plugin_tools\');
// Settings field
add_settings_field(\'eg_setting_name\', \'Example setting Name\', \'eg_setting_callback_function\', \'my_plugin_tools\', \'eg_setting_section\');
// Register the settings field
register_setting(\'my_plugin_tools\', \'eg_setting_name\');
}
add_action(\'admin_menu\', \'wpse_90342_admin_menu\');
function wpse_90342_page_callback() {
echo "This is the top level page";
}
function wpse_90342_subpage_callback() {
echo "This is the subpage";
do_settings_sections(\'my_plugin_tools\' );
settings_fields( \'my_plugin_tools\' );
submit_button();
}
function eg_setting_section_callback_function() {
echo "Section header";
}
function eg_setting_callback_function() {
echo "Settings field";
}
您可能需要查看以下文档:
add_menu_page 和
add_submenu_page 因为它们需要大量的参数,为了使页面/子页面/字段符合预期的层次结构,这些参数可能需要在两者之间保持一致。