在WordPress多站点中列出除当前博客和主博客之外的所有博客

时间:2017-06-08 作者:sc2015

我需要列出所有当前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
} ?>
谢谢

1 个回复
最合适的回答,由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>";
}

结束

相关推荐

在index.php上发布摘录下的外部链接按钮

我正在创建一个评论网站,目前我在主索引页上有我的文章摘录。我想知道是否有人知道一种方法,我可以在索引页的每个帖子摘录的底部添加一个链接(最好是一个按钮),在这个链接中,浏览者可以直接进入我正在查看的网站,而不必阅读帖子?我希望帖子标题可以转到我的文章,但底部有一个按钮可以转到正在评论的网站,上面写着“转到网站”例如:站点1名称:查看此处的摘要。。。阅读更多站点1的外部链接(作为按钮)。站点2名称:评论在此处发布摘录。。。阅读更多站点2的外部链接(作为按钮)</如果可以通过插件完成,那么我同意。我也可