在网络站点上启用相同菜单

时间:2017-03-14 作者:fred2

我希望多站点安装中的站点网络在用户首次使用站点时自动在主菜单中包含某些项。

这似乎很难做到,而且新的RESTAPI没有提供与菜单交互的方法。

因此,我创建了一个简单的插件,如果不存在,它会创建一个菜单,并向其中添加各种项目。

现在,我想确保当人们来到该站点时,该菜单被激活并在主菜单中可见。

我目前看不到在指定位置激活菜单的功能。

有什么建议吗?

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

解决了这个问题。

假设使用一个名为“primary”的菜单位置的主题,并且您刚刚创建了一个id包含在$menu\\u id中的菜单

$menu_locations = get_nav_menu_locations();
$new_menu_locations = array_map( \'absint\', [\'primary\' => $menu_id]);
$menu_locations = array_merge( $menu_locations, $new_menu_locations );
set_theme_mod( \'nav_menu_locations\', $menu_locations );
Wordpress本身就是这样保存更新的菜单位置的wp-admin/nav-menus.php

相关推荐

安装和卸载WP-REST-API插件后API返回空白响应

WordPress/WooCommerce API在我的网站上被破坏:http://example.com/wp-json/wp/v2/posts 和http://example.com/wp-json/wc/v2/products 两者都返回空白响应。运行Python请求response = requests.get(\'http://<mysite>.com/wp-json/wp/v2/posts\', auth=HTTPBasicAuth(*auth)) 给出的响应(在调试器中