我正在与wordpress插件和自定义帖子类型进行斗争 - 特别是将其添加到子菜单中。我检查了wordpress codex页面,即:自定义帖子类型,角色和功能以及添加子菜单Codex,我无法发布链接,因为我没有10个声誉。
但我找不到办法做到这一点。我想我错过了一些简单的东西,这里有人可以提供帮助。
我有一个名为ns_home_page的wordpress自定义帖子类型,它设置为
register_post_type('ns_home_page',
array(
'labels' => array(
'name' => __( 'Home Page' ),
'singular_name' => __( 'Home Page' )
),
'public' => true,
'has_archive' => true,
'supports' => array( 'title', 'editor', 'thumbnail', 'revisions' ),
'show_ui' => true,
'show_in_menu' => false,
)
);
接下来,我已经通过
添加了它add_action('init', array($this, 'create_homepage_items_type'));
调用我在插件中创建的类中的方法。一切正常。我添加了三个新帖子,他们100%工作。
现在问题是我想将这些添加到管理员的自定义菜单中。
我有以下代码:
$page_title = 'Ns Content';
$menu_title = 'NS Content';
$capability = 'manage_options';
$menu_slug = 'ns-content';
$capability = "manage_options";
$function = array($this, 'display_admin');
add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function);
$submenu_page_title = 'Ns Home Page';
$submenu_title = 'Home Page';
$submenu_slug = 'edit.php?post_type=ns_home_page';
$submenu_function = 'myplugin_help';
$capability = "publish_posts";
add_submenu_page($menu_slug, $submenu_page_title, $submenu_title, $capability, $submenu_slug, $submenu_function);
这会在我的管理员中创建一个标题为“NS Content”的菜单,它有两个子菜单,“NS Content”和“Home Page”。但是,主页内容类型的链接目前是
/wp-admin/admin.php?page=edit.php?post_type=ns_home_page 为了显示我的帖子,我需要链接
/wp-admin/edit.php?post_type=ns_home_page Ant想法如何正确设置此链接?
答案 0 :(得分:0)
您需要正确注册自定义帖子类型,一旦完成,列表,添加,编辑,垃圾等功能将由WordPress自动处理。
您可以参考http://generatewp.com/post-type/了解更多信息。
答案 1 :(得分:0)
看一下$ submenu_slug,用 nshomepage 替换 edit.php?post_type = ns_home_page 并试一下它应该可行