文章目录[隐藏]
如果你想认真的了解学习query_posts函数的用法,推荐你到官网可以先看看query_posts的官方文档,query_posts的全部参数可以参考:WP_Query
如果阅读起来有难度推荐看看露兜博客WordPress函数query_posts用法汇总。
在wordpress的sidebar显示我们指定ID的文章,你必须知道文章的ID,而wordpress默认是不是显示文章ID的,所以你先看看这篇文章wordpress后台无插件显示文章和分类ID,还有,我们是通过后台-外观-小工具-文本小工具添加代码的,所以你的文本小工具必须支持PHP代码,wordpress默认是不支持的,在实现功能前阅读一下让你的WordPress文本小工具运行PHP
普通调用
通过后台-外观-小工具-文本小工具添加下面代码就可以了。
<ul>
<?php
$args=array(
'post__in' => array(1,67,87,57),//文章的ID
'posts_per_page' => 4, // 显示篇数
);
query_posts($args);
if(have_posts()) : while (have_posts()) : the_post(); ?> //判断、循环开始
<li>
<a title="<?php the_title();?>" href="<?php the_permalink(); ?>" target="_blank"><?php the_title();?></a> //标题链接
</li>
<?php endwhile; endif; wp_reset_query(); ?> //结束循环
</ul>
标题前加上文章的缩略图
如果你的文章里有特殊图像我们还可以调用缩略图放在文章标题的前面,代码如下:
<ul>
<?php
$args=array(
'post__in' => array(1,67,87,57),//文章的ID
'posts_per_page' => 4, // 显示篇数
);
query_posts($args);
if(have_posts()) : while (have_posts()) : the_post(); ?> //判断、循环开始
<li>
<a title="<?php the_title();?>" href="<?php the_permalink(); ?>" target="_blank"><?php the_title();?></a> //标题链接
</li>
<div class="thumbnail">//缩略图调用开始
<a title="<?php the_title();?>" href="<?php the_permalink(); ?>"><?php if((function_exists('has_post_thumbnail')) && (has_post_thumbnail())){$thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()) );?><img src="<?php echo $thumbnail_src[0];?>"/><?php }else {?><img alt="<?php the_title();?>" src="<?php echo catch_that_image(); ?>"/><?php } ?></a>
</div>//缩略图调用结束
<?php endwhile; endif; wp_reset_query(); ?> //结束循环
</ul>
以上代码只是调用,你需要自己写CSS对缩略图图像布局控制。当然你还可以在标题后面显示发布时间
显示文章摘要
以下代码是调用某个文章分类ID下的10篇文章,根据你的需要你可以自由的修改。
<ul>
<?php
$args=array(
'cat' => 1, // 分类ID
'posts_per_page' => 10, // 显示篇数
);
query_posts($args);
if(have_posts()) : while (have_posts()) : the_post();
?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> //标题
<span>
<?php if (has_excerpt()) {
echo $description = get_the_excerpt(); //文章编辑中的摘要
}else {
echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 170,"……"); //文章编辑中若无摘要,自定截取文章内容字数做为摘要
} ?>
</span>
</li>
<?php endwhile; endif; wp_reset_query(); ?>
</ul>
这样我们完全可以不用插件来实现我们想显示特定文章的方式,灵活自由,如果你看完官方文档,那么你会更加有创造的做出你想要的效果,感谢wordpress!感谢query_posts!