探索建站和运维乐趣

无需插件快速实现WordPress相关文章调用方法

我们很多网友会发现从WordPress官方平台下载的很多国外的主题没有页面相关文章调用列表,这个相对于SEO来说可能会有部分影响,至少让用户看不到同类的文章。那就需要我们自己添加这些功能,当然包括有一些插件可以实现,比如【Related Posts Thumbnails Plugin for WordPress 】插件是可以实现的,但是我们不要这么复杂的插件,这里我们就整理简单的代码实现。

//无插件实现WordPress相关文章 Edit by laobuluo.com
<div class="related_posts">
<h3>这几篇文章你可能也喜欢:</h3>
<ul>
<?php
$post_num = 10;
$exclude_id = $post->ID;
$posttags = get_the_tags(); $i = 0;
if ( $posttags ) {
$tags = ''; foreach ( $posttags as $tag ) $tags .= $tag->term_id . ',';
$args = array(
'post_status' => 'publish',
'tag__in' => explode(',', $tags),
'post__not_in' => explode(',', $exclude_id),
'caller_get_posts' => 1,
'orderby' => 'comment_date',
'posts_per_page' => $post_num,
);
query_posts($args);
while( have_posts() ) { the_post(); ?>
<li><a rel="bookmark" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php
$exclude_id .= ',' . $post->ID; $i ++;
} wp_reset_query();
}
if ( $i < $post_num ) {
$cats = ''; foreach ( get_the_category() as $cat ) $cats .= $cat->cat_ID . ',';
$args = array(
'category__in' => explode(',', $cats),
'post__not_in' => explode(',', $exclude_id),
'caller_get_posts' => 1,
'orderby' => 'comment_date',
'posts_per_page' => $post_num - $i
);
query_posts($args);
while( have_posts() ) { the_post(); ?>
<li><a rel="bookmark" href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php $i++;
} wp_reset_query();
}
if ( $i == 0 ) echo '<li>没有相关文章!</li>';
?>
</ul>
</div>


我们将代码添加到对应需要展示单页的页面位置。然后还需要自定义样式。

.related_posts {
	margin-top: 5px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ededed;
} 
.related_posts h3 {
	margin-bottom: 5px;
}
.related_posts li {
	margin-left: 20px;
	color: #ccc;
	list-style: square;
	font-size: 14px;
	line-height: 26px;
	padding: 0 0 0 5px
	
}

然后根据我们实际的需要调整。

PS:有网友提到需要显示图片相关文章的,这个后面再整理。

赞(2)
转载保留:老部落 » 无需插件快速实现WordPress相关文章调用方法


关注公众号『老蒋朋友圈』

获取更多建站运营运维新知!
互联网创业、前沿技术......