我已经创建了一个WordPress菜单:
$menu_id = wp_create_nav_menu('MyMenu');并成功向其中添加了菜单项。它们在外观-->菜单中正确显示。
菜单列表的底部是带有两个复选框的“菜单设置”。第一个是“自动添加...”第二个是“主菜单(当前设置为:)”。
我需要代码来做什么时,框是选中的,我保存菜单。
我使用论文185作为主题。
发布于 2014-05-09 19:40:46
可以使用以下命令读取这些复选框:
用于“自动添加...”的
get_option('nav_menu_options')和用于“主菜单(当前设置为)”的get_theme_mod( 'nav_menu_locations' ); 当导航菜单更新时有一个钩子(wp_update_nav_menu),但不幸的是there's a bug on the system,因为创建了两个相同的钩子。
我已经设法使一个丑陋的变通方法只运行一次:
add_action( 'load-nav-menus.php', function()
{
if( isset( $_POST['save_menu'] ) )
{
global $my_hook_only_once;
$my_hook_only_once = false;
add_action( 'wp_update_nav_menu', function( $menu_id )
{
global $my_hook_only_once;
if( $my_hook_only_once )
return;
$nav_options = get_option('nav_menu_options');
$locations = get_theme_mod( 'nav_menu_locations' );
# Firephp logging
// my_log( $nav_options['auto_add'], 'Auto add' );
// my_log( $locations, 'Menu locations' );
$my_hook_only_once = true;
});
}
});https://stackoverflow.com/questions/23399611
复制相似问题