我们很多网友会发现从 WordPress 官方平台下载的很多国外的主题没有页面相关文章调用列表,这个相对于 SEO 来说可能会有部分影响,至少让用户看不到同类的文章。那就需要我们自己添加这些功能,当然包括有一些插件可以实现,比如【Related Posts Thumbnails Plugin for WordPress 】插件是可以实现的,但是我们不要这么复杂的插件,这里我们就整理简单的代码实现。
<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
}
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!