wordpress有许多完成相关文章功用的插件,插件的长处是装备简 单,可是或许会对网站的速度形成一些小的影响,所以许多人仍是比较喜爱用代码完成需求的功用,可是话又说回来了,代码完成也有缺陷,便是装备杂乱,不明白代 码的人彻底摸不着头脑或许只能照搬他人的代码,还不如用插件。

这儿我收拾编写了几种用代码完成相关文章的办法,这其中会具体标明各部分代码的效果,以及怎么自定义你想要的功用,期望对咱们有所协助,有什么问题 能够给本文宣布谈论,我会及时给你回复。开端之前,阐明一点,以下一切办法输出的HTML代码格局都是以下方式,你能够根据需求进行修正:

<ulid="xxx">
<li>*<atitle="文章标题1"rel="bookmark"href="文章链接1">文章标题1</a></li>
<li>*<atitle="文章标题2"rel="bookmark"href="文章链接2">文章标题2</a></li>
......
</ul>

首要获取文章的一切标签,接着获取这些标签下的 n 篇文章,那么这 n 篇文章便是与该文章相关的文章了。现在能够见到的wordpress相关文章插件都是运用的这个办法。下面是完成的代码:办法一:标签相关

<ulid="tags_related">
<?php
$post_tags=wp_get_post_tags($post->ID);
if($post_tags){
foreach($post_tagsas$tag)
{
//获取标签列表
$tag_list[].=$tag->term_id;
}
//随机获取标签列表中的一个标签
$post_tag=$tag_list[mt_rand(0,count($tag_list)-1)];
//该办法运用query_posts()函数来调用相关文章,以下是参数列表
$args=array(
'tag__in'=>array($post_tag),
'category__not_in'=>array(NULL),//不包括的分类ID
'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>*<ahref="<?phpthe_permalink();?>"rel="bookmark"title="<?phpthe_title_attribute();?>"><?phpthe_title();?></a></li>
<?phpendwhile;else:?>
<li>*暂无相关文章</li>
<?phpendif;wp_reset_query();}?>
</ul>

办法二:分类相关运用阐明:”不包括的分类ID” 指的是相关文章不显现该分类下的文章,将同行的 NULL 改成文章分类的ID即可,多个ID就用半角逗号离隔。由于这儿约束只显现6篇相关文章,所以不论给 query_posts() 的参数 tag__in 赋多少个值,都是只显现一个标签下的 6 篇文章,除非第一个标签有1篇,第二个标签有2篇,第三个有3篇。。。。。。所以假如这篇文章有多个标签,那么咱们采纳的做法是随机获取一个标签的id, 赋值给 tag__in 这个参数,获取该标签下的6篇文章。

本办法是经过获取该文章的分类id,然后获取该分类下的文章,来到达获取相关文章的意图。

<ulid="cat_related">
<?php
$cats=wp_get_post_categories($post->ID);
if($cats){
$cat=get_category($cats[0]);
$first_cat=$cat->cat_ID;
$args=array(
'category__in'=>array($first_cat),
'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>*<ahref="<?phpthe_permalink();?>"rel="bookmark"title="<?phpthe_title_attribute();
?>"><?phpthe_title();?></a></li>
<?phpendwhile;else:?>
<li>*暂无相关文章</li>
<?phpendif;wp_reset_query();}?>
</ul>

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:WordPress相关文章的几种方法发布于2022-05-12 08:44:51

相关推荐