我翻阅了wordpress代码,看看当我从管理员界面提交表单时发生了什么,看看它调用了什么函数(并做了一个测试)var_export()
,并看到它正在调用set_theme_mod( \'nav_menu_locations\', $menu_locations );
. 我已经更新了我的代码来使用它,它似乎正在工作:
$locations = get_theme_mod(\'nav_menu_locations\');
$locations[\'primary\'] = $menu_id;
set_theme_mod( \'nav_menu_locations\', $locations );
当我试图找出如何做到这一点时,让我感到困惑的一件事是
get_theme_mod()
表示它返回一个字符串,但在本例中它返回的是一个数组,因此我认为它不会起作用。