如何在wordpress多站点网络中创建单个导航菜单

如何在wordpress多站点网络中创建单个导航菜单,wordpress,Wordpress,如何创建一个单一/主导航菜单,在前面/用户端具有wordpress multisite中所有网络站点的菜单 就像我在我的母站点和子站点中都有一个管理页面一样,那么我如何将菜单管理员与站点1的子菜单管理、站点2的管理以及所有子菜单管理进行分组 我试过,2-3个这样的代码 //存储当前正在查看的blog\u id全局$blog\u id; $current\u blog\u id=$blog\u id //切换到id为1的主博客 切换到博客(1) wp_导航菜单() //输出WordPress导航菜

如何创建一个单一/主导航菜单,在前面/用户端具有wordpress multisite中所有网络站点的菜单

就像我在我的母站点和子站点中都有一个管理页面一样,那么我如何将菜单管理员与站点1的子菜单管理、站点2的管理以及所有子菜单管理进行分组

我试过,2-3个这样的代码

//存储当前正在查看的blog\u id全局$blog\u id; $current\u blog\u id=$blog\u id

//切换到id为1的主博客 切换到博客(1)

wp_导航菜单()

//输出WordPress导航菜单//wp\u导航菜单(数组('menu'=> “主页菜单”)

//wp_导航菜单(//array('theme_location'=>'homepagemenu')//)// //

//切换回当前正在查看的博客 切换到博客($current\u blog\u id)


你可以修改这个插件的主要功能:但是它会将你的站点菜单添加到管理栏,而不是前端

首先,您应该创建一个,带有加载网络中站点的功能:

function all_the_sites_menu() {
if ( ! is_super_admin() )
    return;

// Get all blog ids
global $wpdb;

$blog_ids = $wpdb->get_col( $wpdb->prepare( "
    SELECT blog_id 
    FROM {$wpdb->blogs}
    WHERE site_id = %d
    AND spam = '0'
    AND deleted = '0'
    AND archived = '0'
    ORDER BY registered DESC
", $wpdb->siteid ) );

    echo '<ul>'; //start the list

foreach ( $blog_ids as $blog_id ) {
    $blog_id = (int) $blog_id;
    $blog = get_blog_details( $blog_id );
    echo '<li><a href="http://' . $blog->siteurl . $blog->path .'">';
            echo $blog->blogname . '</a></li>';
}

    echo '</ul>'; //end the list

}
function all___站点_菜单(){
如果(!is_super_admin())
返回;
//获取所有博客ID
全球$wpdb;
$blog\u id=$wpdb->get\u col($wpdb->prepare(“
选择blog\u id
从{$wpdb->blogs}
其中站点\u id=%d
和垃圾邮件='0'
和已删除='0'
和存档='0'
按注册说明订购
“,$wpdb->siteid”);
echo“
    ”;//启动列表 foreach($blog\u id作为$blog\u id){ $blog_id=(int)$blog_id; $blog=获取日志详细信息($blog\u id); 回音“
  • ”; } echo“
”;//结束列表 }
然后,您可以在主题中插入标记以输出列表,如下所示: