在前面的建站教程中,我们介绍了WordPress多站点开启方法,通过Wordpress多站点可以实现WordPress做站群。在Wordpress多站点中,往往需要在主站中调用各个分站发布的最新文章,这样就需要使用调用代码。
WordPress多站点主站调用分站最新文章主要是使用wp_query调取分站的最新文章。方法如下:
第一步:将以下的函数代码放到模板函数functions.php文件里;
<?php
function get_recent_blogposts_wpmu($blog_id,$show){
wp_reset_query();
switch_to_blog($blog_id);
global $post;?>
<?php $my_query = new WP_Query(showposts=.$show.&order=DSC);
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>
<li class="post_link"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> </li>
<?php endwhile; ?>
<?php restore_current_blog();
}
?>
第二步:在Wordpress多站点主站中需要显示最新文章的位置使用以下的代码进行调用。
<?php get_recent_blogposts_wpmu(2,1);?>
代码解释:上面的2是指想要调用的站点ID,1指你想要调用2站点下的文章数量,你可以根据需要修改。如果不知道站点ID,可以到网络管理员模式下—站点—把鼠标放在编辑下,出现的链接后面就能看到ID了。
也可以直接用代码调用所有站点的文章:
<?php $blog_list = get_blog_list( 0, all ); //显示全部站点列表
foreach ($blog_list AS $blog) {?>
<?php
wp_reset_query();switch_to_blog($blog["blog_id"]);
global $post;?>
<?php $args = array(
meta_query=>array(
array(
key=>leixing,
value=>全站推荐,
compare=>LIKE
)
),
post__not_in => get_option(sticky_posts),
showposts =>2,
);
$my_query = new WP_Query( $args );
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>
<li class="post_link"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a> </li>
<?php endwhile; ?>
<?php restore_current_blog();
}?>
标签: