我需要列出所有当前WordPress多站点博客,除了用户所在的博客和主博客。我们有一个404页面,除了用户当前所在的博客和主博客之外,我们还想推荐其他博客(物理位置)。
以下是我们的结构:
主要博客(地点)博客1(纽约)博客2(伦敦)博客3(巴黎)
我可以列出所有博客,但需要从列表中删除主博客和用户所在的博客。
<?php
$bcount = get_blog_count();
global $wpdb;
$blogs = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->blogs WHERE
spam = \'0\' AND deleted = \'0\' and archived = \'0\' and public=\'1\'"));
if(!empty($blogs)){
?><ul class="menu"><?php
foreach($blogs as $blog){
$details = get_blog_details($blog->blog_id);
if($details != false){
$addr = $details->siteurl;
$name = $details->blogname;
if(!(($blog->blog_id == 1)&&($show_main != 1))){
?>
<li class="menu-item<?php if($counter == get_current_blog_id()){ echo \' current-menu-item\';}?>">
<a href="<?php echo $addr; ?>"><?php echo $name;?></a>
</li>
<?php
}
}
}
?></ul><?php
} ?>
谢谢
最合适的回答,由SO网友:Nikolay 整理而成
这将列出除当前博客和主要博客以外的所有博客:
$blogs = get_sites(
array(
\'number\' => 99999999,
\'site__not_in\' => array( get_current_blog_id(), 1 )
)
);
foreach( $blogs as $blog ) {
$addr = $blog->siteurl;
$name = $blog->blogname;
echo $addr . " - " . $name . "<br>";
}