A-A+

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

2014年12月06日 wordpress技巧 暂无评论 阅读 136 views 次

在前面老左分享到"放弃使用WordPress Related Posts插件的理由",本来还想用另外一款"Yet Another Related Posts Plugin"插件的,国外用户比较多,而且非常的热门,Matt Cutts也在博文中把这款相关文章插件作为推荐的首选。但是我在使用后发现其他都还不错,就是唯一不能自定义位置,他默认直接在文章底部显示,万一文章有模板底部添加内容,那内容就在调用下面。所以我还是放弃使用插件,直接采用无插件实现WordPress相关文章调用方法。

第一步,在需要添加相关内容调用的位置,编辑下面代码:

<div class="post-relate">
<h3>你可能喜欢如下内容:</h3>
<ul>
<?php
$post_tags = wp_get_post_tags($post->ID);
if ($post_tags) {
foreach ($post_tags as $tag){
$tag_list[] .= $tag->term_id;
}
$post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ];
$args = array(
'tag__in' => array($post_tag),
'category__not_in' => array(NULL),
'post__not_in' => array($post->ID),
'showposts' => 6,
'caller_get_posts' => 1
);
query_posts($args);
if (have_posts()) : while (have_posts()) : the_post(); update_post_caches($posts); ?>
<li>
<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; else : ?>
<?php $ashu_cats = wp_get_post_categories($post->ID);
if( $ashu_cats ){
$args = array(
'category__in' => array( $ashu_cats[0] ),
'post__not_in' => array( $post->ID ),
'showposts' => 6,
'caller_get_posts' => 1
);
query_posts($args);
if( have_posts()):while(have_posts()):the_post();update_post_caches($posts);?>
<li>
<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; endif; wp_reset_query(); } ?>
<?php endif; wp_reset_query(); } ?>
</ul>
<div class="clear"></div>
</div>

第二步:样式添加

如果添加上述的代码后感觉界面还不错,就直接使用,如果不行,需要用到下面的样式。

/* post-relate */
.post-relate{padding:10px 5px;color:#888;}
.post-relate h3{margin:0;line-height:22px;Verdana;font-size:14px;}
.post-relate ul{margin:5px 15px;padding:0px 5px;}
.post-relate li{margin:0px 0px;padding:2px 0px 2px;}

样式还需要根据自己的需要调整。这样我们不用插件也能实现效果,降低WP的内存消耗。能不用插件尽量不使用。

标签:

给我留言

Copyright © 杭州seo优化 保留所有权利.   Theme  Ality

用户登录

分享到: