首页 > 经验 > 关键词  > Wordpress插件最新资讯  > 正文

WordPress代码实现相关文章的几种方法

2010-09-06 08:40 · 稿源:露兜博客

WordPress有很多实现相关文章功能的插件,插件的优点是配置简单,但是可能会对网站的速度造成一些小的影响,所以很多人还是比较喜欢用代码实现需要的功能,但是话又说回来了,代码实现也有缺点,就是配置复杂,不懂代码的人完全摸不着头脑或者只能照搬别人的代码,还不如用插件。

这里我整理编写了几种用代码实现相关文章的方法,这其中会详细标明各部分代码的作用,以及如何自定义你想要的功能,希望对大家有所帮助,有什么问题可以给本文发表评论,我会及时给你回复。开始之前,说明一点,以下所有方法输出的HTML代码格式都是以下形式,你可以根据需要进行修改:

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

方法一:标签相关

首先获取文章的所有标签,接着获取这些标签下的 n 篇文章,那么这 n 篇文章就是与该文章相关的文章了。现在可以见到的WordPress相关文章插件都是使用的这个方法。下面是实现的代码:

<ul id="tags_related">
<?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) ];
// 该方法使用 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>* <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; else : ?>
    <li>* 暂无相关文章</li>
<?php endif; wp_reset_query(); } ?>
</ul>

使用说明:”不包括的分类ID” 指的是相关文章不显示该分类下的文章,将同行的 NULL 改成文章分类的ID即可,多个ID就用半角逗号隔开。因为这里限制只显示6篇相关文章,所以不管给 query_posts() 的参数 tag__in 赋多少个值,都是只显示一个标签下的 6 篇文章,除非第一个标签有1篇,第二个标签有2篇,第三个有3篇。。。。。。所以如果这篇文章有多个标签,那么我们采取的做法是随机获取一个标签的id,赋值给 tag__in 这个参数,获取该标签下的6篇文章。

方法二:分类相关

本方法是通过获取该文章的分类id,然后获取该分类下的文章,来达到获取相关文章的目的。

<ul id="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>* <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute();
 ?>"><?php the_title(); ?></a></li>
<?php endwhile; else : ?>
<li>* 暂无相关文章</li>
<?php endif; wp_reset_query(); } ?>
</ul>

  • 相关推荐
  • 大家在看
  • 1Password推出Psst!服务:更安全更便携的和他人共享账号密

    在工作场所和家庭环境中,我们时不时需要和他人共享账号密码,但安全地共享密码却可能非常棘手。1Password 旨在通过其新功能解决这个问题,该功能为你提供了一种以安全方式分享登录凭证的方法,甚至可以与那些没有该服务账户的人分享。这种新方法叫做 Psst!,是 Password Secure Sharing Tool(密码安全分享工具)的简称,它显然是该公司要求最多的功能之一。根据该公司进行的一项研究,大多数工人重复使用公司的凭证。在这些人中?

  • 增强隐私体验:1Password携手Fastmail推出邮件别名订阅服务

    为了抵御网络黑客的攻击,许多人选择了通过 1Password 等密码管理器来规划针对不同线上服务的复杂密码组合,以避免在数据泄露事件发生时被“一锅端”。不过从本周开始,1Password 又拓展了一项服务 —— 允许用户隐藏真实的电子邮件地址。此前,苹果已在 Sign In With Apple 等产品服务上提供了类似的体验。比如通过生成一次性的邮件地址,把它作为与真实邮件地址之间的桥梁,来更好地保护用户的晕死。而在 Fastmail 的协助下,1Pa

  • 相机App代码揭示了Pixel 6智能机的诸多功能特性

    在宣传预热数月后,谷歌即将推出搭载定制 Tensor 芯片的 Pixel 6 和 Pixel 6 Pro 智能机。尽管有关该机的外形和部分规格已经揭晓,但 XDA-Developers 还是进一步分享了有关 相机硬件的一些细节。比如 Pixel 6 将采用前置 12MP 自拍摄像头,以及 50MP 的三星 GN1 主传感器 + 12MP 超广角镜头,而 Pixel 6 Pro 更是增加了一枚支持 4X 变焦的 48MP 潜望式镜头。功能方面,得益于定制芯片,Pixel 6 新机将能够结合软硬件优势来提升图像

  • 工信部:适老版APP不得再设有广告插件

    10月13日消息,据工信微报”发布的消息,工信部高度重视不良广告插件及诱导类按键、违法违规网站、网络安全知识宣传等工作,采取一系列措施强化监管力度,提高监管效能。工信部在专项行动中明确要求,互联网网站和手机APP完成改造后的适老版、关怀版、无障碍版本,不得再设有广告插件,付款类操作不得设任何诱导式按键,以便各类特殊群体方便、安全地使用。工信部印发的《互联网网站适老化通用设计规范》和《移动互联网应用(APP)

  • 工信部:适老版App不得再设有广告插件及诱导类按键

    目前,越来越多APP推出了适老版,为了让这类群体更方便和安全使用APP,工信部要求适老版App不得再设有广告插件。

  • Expresso推出Capti动感单车 增加了游戏和虚拟骑行的功能

    据外媒New Atlas报道,与在户外骑自行车相比,在室内骑动感单车可能相当无聊。Capti动感单车是解决这一问题的最新产品,它增加了游戏和虚拟骑行的功能。Capti由位于加利福尼亚的Expresso Fitness公司制造,可以作为普通动感单车使用,其车把被锁定,其踏板阻力保持在一个设定值。不过,如果骑行者想让事情变得更有趣,他们可以通过该设备的24英寸、1080p触摸屏访问虚拟户外骑行的在线图书馆、基于踏板的游戏、心率训练程序和虚拟工

  • 苹果更新折叠式iPhone相关专利细节

    苹果已经申请了许多关于折叠式iPhone的专利。一项被授予的专利是 "具有可滑动扩展显示屏的电子设备",而苹果刚刚更新了该专利。苹果在专利当中表示,电子设备通常包括触摸屏显示屏,可用于移动电话或其他便携式设备,为用户显示信息并收集用户的输入。如果不注意,显示屏可能无法提供足够的屏幕空间来显示用户感兴趣的信息,同时,很难将电子设备的尺寸放大太多,以容纳更大的显示屏,因为这可能使设备过于笨重。苹果在这项专利原?

  • 一篇文章了解微粒贷优势特点

    微粒贷自上线以来就受到很多人的青睐,如今也成为更多年轻人喜欢的小额信贷产品,小编今天从多个角度给大家介绍一下微粒贷。一、银行产品,费息透明微粒贷是由国内首家互联网银行微众银行推出的一款小额信贷产品,在国家金融监管部门的严格监管下稳健运营,安全属性高,费息更透明。微粒贷支持随借随还,提前还款也不会收手续费,在使用过程中,微粒贷除了贷款利息之外,没有其他任何费用,非常正规靠谱。二、流程简单,操作方便微

  • 公众号发布的文章越多,涨粉越多吗?

    经常有粉丝问我:“公众号每天应该更新多少篇文章?”例如有的公众号每天更新8篇;有的公众号每天只更新1篇;有的公众号几天才更新1篇。接着还会碰到这些问题:

  • 万顺叫车“一键叫车”走进社区 推出适老化改造相关功能

    为解决老年人打车难这一"痛点",满足老年人出行需求,按照交通运输部办公厅印发的《2021 年便利老年人打车出行工作方案》,万顺叫车永州分公司在冷水滩中心城区首推"线上+线下"一键叫车爱心助老模式,让老年人享受便捷、安全、舒适的出行体验。 9 月17 日,在冷水滩区菱角山街道活龙井社区新投入使用的万顺叫车乘客驿站前,不少老年人闻讯而来,在工作人员的帮助下,65 岁的居民易柏秀第一个"尝鲜",无需输入目的地,点击手机上的

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天