如何在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)如何在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导航菜
你可以修改这个插件的主要功能:但是它会将你的站点菜单添加到管理栏,而不是前端 首先,您应该创建一个,带有加载网络中站点的功能:
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“
”;//结束列表
}
然后,您可以在主题中插入标记以输出列表,如下所示: