//根据时间显示最新的分类文章内容,每个站点显示一篇内容
//$blog_id 子站点ID
//$catid 分类ID
function get_cat_blogposts_wpmu($blog_id,$catid){
wp_reset_query();
switch_to_blog($blog_id);
global $post;?>
<?php
$my_query2 = new WP_Query('showposts=1&order=desc&orderby=date&cat='.$catid);
while ($my_query2->have_posts()) : $my_query2->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> </li>
<?php endwhile; ?>
<?php restore_current_blog();
}
上面的方法是用来显示子站点文章内容,里面用到了WP_Query这个函数,如果了解这个函数的应该知道这个函数是可以直接输入分类名称来显示的。但是貌似输入中文的分类名称不管用。所以只好换了方法,获取分类ID来显示文章了,大家感兴趣的可以研究下看看,然后分享一下。
接下来获取分类ID号,使用方法是
global $wpdb;
$most_viewed_cat = $wpdb->get_results("SELECT * from $wpdb->blogs");
foreach ($most_viewed_cat as $keyc => $vc)
{
if($vc->blog_id !=1) //排除主站点ID
{
$id_cat[$keyc] = $vc->blog_id;
}
}
$newid = array_flip($id_cat);
$new_array_cat = array_rand($newid,10);
$n_post = array_filter($new_array_cat);
foreach ($n_post as $ksc => $volsc)
{
$most_cat = $wpdb->get_results("SELECT * from wp_".$volsc."_terms where name = '最新博文'");
foreach ($most_cat as $ks => $vs)
{
get_cat_blogposts_wpmu($volsc,$vs->term_id); //方法调用
}
}
这个方法我在之前的文章中也有提到过,只不过换了个方式来显示。将以上的代码放到你要显示的地方,比如要放到首页,那么一般在index.php文件中,这个根据大家主题的不同,文件也不大相同。可能是home.php,也有可能是front-page.php等等。如果不清楚怎么放的可以在下面留言。
PS:如果大家有什么好的方法的,不要吝啬哦,和大家分享一下。
标签: 显示子站点分类
还木有评论哦,快来抢沙发吧~