自定义POST类型的帖子不会显示在wp_NAV_MENU()中

时间:2012-04-18 作者:sl1nky

我已经创建了一个自定义帖子类型,并使用此代码进行了注册

$labels = array(
  \'name\' => __( \'Portfolio\' ),
  \'singular_name\' => __( \'Portfolio\' )
);

$args = array(
  \'labels\' => $labels,
  \'public\' => true,
  \'exclude_from_search\' => false, 
  \'publicly_queryable\' => true,
  \'show_ui\' => true, 
  \'query_var\' => true,
  \'capability_type\' => \'post\',
  \'hierarchical\' => false,
  \'menu_position\' => null,
  \'supports\' => array(\'title\',\'editor\',\'thumbnail\',\'custom-fields\', \'page-attributes\', \'excerpt\', \'revisions\'),
  \'show_in_nav_menu\' => true
);
register_post_type(\'portfolio\',$args);
我可以创建一个公文包帖子类型并保存它。在我进入“外观”>“菜单”之前,一切都会正常工作,在那里我可以将公文包添加到菜单中,但它不会使用此代码显示在索引模板中

wp_nav_menu(array(\'theme_location\'=>\'main_menu\'));
所有其他菜单项都正确显示,但不是自定义帖子类型。如果你看屏幕截图,前端显示的都是“短代码”链接和“BBC”链接(所以页面和自定义链接-而不是公文包链接)

帮助我需要那些链接。

Screenshot of Appearance > Menus here

screenshot

3 个回复
SO网友:soju

Add a s to show_in_nav_menu : show_in_nav_menus

SO网友:george.n

首先,需要将以下内容添加到$arg数组中

\'rewrite\' => array(\'slug\' => \'portfolio\')
然后,您需要在wordpress admin中创建一个名为“Portfolio”或任何其他标题的页面,但前提是页面slug是“Portfolio”。发布它。

然后转到“外观”>“菜单”,将页面添加到菜单中。转到前端并转到菜单中的链接,如果你在那里有任何帖子,你会看到它们的列表,否则它会说什么都没有找到。

SO网友:Lucas Schulze

确保CPT has\\u archive为true,除此之外,您还必须选择屏幕选项以在外观中显示CPT>&燃气轮机;菜单,如果仍不起作用,请创建一个新帖子,然后返回菜单。

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph