Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >wordpress代码实现相关文章的几种方法

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

原创
作者头像
子润先生
修改于 2021-06-24 02:15:32
修改于 2021-06-24 02:15:32
5990
举报

相关文章分类方法主要有根据文章标签以及文章所属分类来进行区分,以下代码分别使用wordpress自带的query_posts()函数以及直接读取数据库来获取文章的相关文章。另附上获取文章作者的其他文章方法。

标签相关

代码语言:javascript
AI代码解释
复制
根据文章的tag标签来获取相关文章
<ul id="tags_related">
<?php
global $post;
$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%20the_permalink();%20?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
}
else {
echo '<li>* 暂无相关文章</li>';
}
wp_reset_query();
}
else {
echo '<li>* 暂无相关文章</li>';
}
?>
</ul>

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

执行效率:0.18067908287048 秒

标签相关,SQL获取

以SQL语句来直接读取数据库,从而随机获取6篇tag标签相关的文章,而不是WordPress的函数query_posts().

代码语言:javascript
AI代码解释
复制
<ul id="tags_related">
<?php
global $post, $wpdb;
$post_tags = wp_get_post_tags($post->ID);
if ($post_tags) {
$tag_list = '';
foreach ($post_tags as $tag) {
// 获取标签列表
$tag_list .= $tag->term_id.',';
}
$tag_list = substr($tag_list, 0, strlen($tag_list)-1);
$related_posts = $wpdb->get_results("
SELECT DISTINCT ID, post_title
FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy
WHERE {$wpdb->prefix}term_taxonomy.term_taxonomy_id = {$wpdb->prefix}term_relationships.term_taxonomy_id
AND ID = object_id
AND taxonomy = 'post_tag'
AND post_status = 'publish'
AND post_type = 'post'
AND term_id IN (" . $tag_list . ")
AND ID != '" . $post->ID . "'
ORDER BY RAND()
LIMIT 6");
// 以上代码中的 6 为限制只获取6篇相关文章
// 通过修改数字 6,可修改你想要的文章数量
if ( $related_posts ) {
foreach ($related_posts as $related_post) {
?>
<li><a href="<?php%20echo%20get_permalink($related_post->ID);%20?>" rel="bookmark" title="<?php echo $related_post->post_title; ?>"><?php echo $related_post->post_title; ?></a></li>
<?php }
}
else {
echo '<li>暂无相关文章</li>';
}
}
else {
echo '<li>暂无相关文章</li>';
}
?>
</ul>

执行效率:0.037126064300537 秒

分类相关

代码语言:javascript
AI代码解释
复制
随机获取同一分类下的文章
<ul id="cat_related">
<?php
global $post;
$cats = wp_get_post_categories($post->ID);
if ($cats) {
$args = array(
'category__in' => array( $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%20the_permalink();%20?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
}
else {
echo '<li>* 暂无相关文章</li>';
}
wp_reset_query();
}
else {
echo '<li>* 暂无相关文章</li>';
}
?>
</ul>

执行效率:0.057158946990967 秒

分类相关,SQL获取

以SQL语句来直接读取数据库,从而随机获取同一分类下的6篇相关文章,而不是WordPress的函数query_posts().

代码语言:javascript
AI代码解释
复制
<ul id="cat_related">
<?php
global $post, $wpdb;
$cats = wp_get_post_categories($post->ID);
if ($cats) {
$related = $wpdb->get_results("
SELECT post_title, ID
FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy
WHERE {$wpdb->prefix}posts.ID = {$wpdb->prefix}term_relationships.object_id
AND {$wpdb->prefix}term_taxonomy.taxonomy = 'category'
AND {$wpdb->prefix}term_taxonomy.term_taxonomy_id = {$wpdb->prefix}term_relationships.term_taxonomy_id
AND {$wpdb->prefix}posts.post_status = 'publish'
AND {$wpdb->prefix}posts.post_type = 'post'
AND {$wpdb->prefix}term_taxonomy.term_id = '" . $cats[0] . "'
AND {$wpdb->prefix}posts.ID != '" . $post->ID . "'
ORDER BY RAND( )
LIMIT 6");
if ( $related ) {
foreach ($related as $related_post) {
?>
<li>* <a href="<?php%20echo%20get_permalink($related_post->ID);%20?>" rel="bookmark" title="<?php echo $related_post->post_title; ?>"><?php echo $related_post->post_title; ?></a></li>
<?php
}
}
else {
echo '<li>* 暂无相关文章</li>';
}
}
else {
echo '<li>* 暂无相关文章</li>';
}
?>
</ul>

执行效率:0.045628070831299 秒

作者相关

获取该文章作者的其他文章

代码语言:javascript
AI代码解释
复制
<ul id="author_related">
<?php
global $post;
$post_author = get_the_author_meta( 'user_login' );
$args = array(
'author_name' => $post_author,
'post__not_in' => array($post->ID),
'showposts' => 6, // 显示相关文章数量
'orderby' => date, // 按时间排序
'caller_get_posts' => 1
);
query_posts($args);
if (have_posts()) {
while (have_posts()) {
the_post(); update_post_caches($posts); ?>
<li>* <a href="<?php%20the_permalink();%20?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
}
else {
echo '<li>* 暂无相关文章</li>';
}
wp_reset_query();
?>
</ul>

执行效率:0.023991823196411 秒

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Sentieon项目文章:泛基因组揭示小麦结构变异与栖息地及育种的关联
普通小麦(AABBDD)源于7000-8000年前中东地区四倍体小麦与粗山羊草的自然杂交。约3500-4000年前传入中国,逐渐成为华北主要农作物。
INSVAST
2025/09/04
2110
Sentieon项目文章:泛基因组揭示小麦结构变异与栖息地及育种的关联
Nature | 基于四代家系参考的人类新生突变率
◉ 我们使用五种正交的下一代和长读长测序技术对四代系谱CEPH 1463中的28名成员进行了测序:对于G2至G4代,采用HiFi测序、Illumina和Element测序技术对其外周血进行了分析;而对于G1至G3代,则利用可用的永生化淋巴细胞系生成了UL-ONT和Strand-seq数据。该系谱数据集已被扩展,纳入了第四代以及G3代的配偶(编号为200080和200100)。◉ 该研究采用了多种先进的基因组测序平台,确保在不同世代之间获得全面且高精度的遗传信息,从而增强了对遗传变异传递模式的理解。
生信菜鸟团
2025/07/12
4130
Nature | 基于四代家系参考的人类新生突变率
Sentieon | 泛基因组分析流程详解
在传统的基因组学中,我们习惯于将一个“参考基因组”视为一个物种的遗传“标准答案”。然而,这就像仅凭一张标准户型图去理解所有家庭的房屋户型,必然会遗漏大量个性化的细节。
INSVAST
2025/10/24
1810
Sentieon | 泛基因组分析流程详解
Sentieon 项目文章 | 偏远社区原住民澳大利亚人的血型基因组图谱
提维岛民由于遗传隔离形成了独特的血型抗原分布特征,与澳大利亚主要献血群体(高加索人种)存在显著差异,在输血过程中容易引发同种免疫反应。面临着因血型抗原多态性导致的输血风险。
INSVAST
2025/08/01
1470
Sentieon 项目文章 | 偏远社区原住民澳大利亚人的血型基因组图谱
Sentieon项目文章 | 儿童罕见病队列研究:整合研究与临床基因组学计划
不同的研究方案和各异的临床及研究制度下收集的基因组数据存在的区别,因此创建协调统一的数据库是有益的,尤其在儿科罕见疾病领域。且能解决研究型医院在研究和临床实践时面临诸多的挑战,能满足不同环境的独特要求和目标,包括众多利益相关者的需求。
INSVAST
2025/07/02
1510
Sentieon项目文章 | 儿童罕见病队列研究:整合研究与临床基因组学计划
Nature | SMath:从19个非患病组织部位的150名捐献者中生成体细胞变异参考目录
◉ a,遗传变异、早期体细胞突变和晚期体细胞突变之间的示意图比较。◉ b,体细胞突变的原因及类型概览。EN,核酸内切酶;ME,可移动元件;ORF,开放阅读框;RT,逆转录酶;ssDNA,单链DNA。◉ c,不同发育阶段和组织中报道的体细胞单核苷酸变异(SNV)突变率概览。第一次细胞分裂的数据6,7,59 和后续细胞分裂的数据6,7,59 为每次细胞分裂每细胞的SNV数目。◉ 早期中枢神经系统(CNS)9 和胎盘62 的胎儿发育数据为每天每细胞的SNV数目。◉ 成年阶段的数据以每年为单位,估算对象包括生精小管48、造血干细胞26,52,144、B淋巴细胞52、神经元63,145、T淋巴细胞52、支气管上皮53、胃上皮146、子宫内膜上皮79、肝细胞19、小肠上皮19,115、结直肠上皮19,24,29 以及心肌细胞49。◉ ZGA,合子基因组激活。
生信菜鸟团
2025/07/04
2940
Nature | SMath:从19个非患病组织部位的150名捐献者中生成体细胞变异参考目录
Sentieon | 每周文献-Long Read Sequencing(长读长测序)-第七期
PrecisionFDA自2015年起航,初衷是为美国食品和药物管理局(FDA)在基因组学领域的监管标准设立提供支持,随后其服务范畴已广泛覆盖至组学的所有领域。该平台不仅为用户提供按需高性能计算实例、专家交流社区、公开可用的工具库以及定制工具的开发支持,还打造了挑战框架和虚拟共享空间,使得FDA的科学家和审稿人能够与外部合作伙伴携手合作。
INSVAST
2023/08/24
1930
Sentieon | 每周文献-Long Read Sequencing(长读长测序)-第七期
三代测序技术100问(2):PacBio 与 ONT,谁是你的长读长利器?
在上一期(三代测序技术100问(1):NGS与第三代测序,如何做出明智选择?)中,我们厘清了二代与三代测序技术的适用边界,明确了选择需“因题施策”。然而,踏入三代测序的大门,新的抉择又摆在面前:目前市场上主流的长读长技术平台主要由两大阵营引领——美国的PacBio(Pacific Biosciences)和英国的ONT(Oxford Nanopore Technologies)。它们的技术原理、性能特点和应用侧重各有千秋,常常让研究者们,特别是准备首次尝试三代测序的团队感到选择的困惑。
天意生信云
2025/04/24
7290
三代测序技术100问(2):PacBio 与 ONT,谁是你的长读长利器?
基因组 | Nat.Rev.Genet | 人类基因组中结构变异的多样性及其后果
◉ 基因组变异通常根据变异等位基因所改变的核苷酸数量进行分类。◉ 尽管这些类别的确切划分并不精确,并且基于半任意的阈值而有所不同,但人类遗传学领域已达成共识,将涉及少于50个核苷酸的变异归为‘短’变异(有时也称为序列变异),而所有其他涉及≥50个核苷酸的变异则归为结构变异(SVs)。◉ 短变异仅包括两个不同类别:单核苷酸变异和短插入或缺失(统称为indels)。◉ 总的来说,平均每个人的基因组中大约存在四百万个短变异。◉ 相比之下,结构变异包含更为多样化的突变类别和子类,每种都有其特有的替代等位基因结构和独特性质。◉ 结构变异可以进一步划分的一个主要标准是其变异等位基因是否涉及总共小于50个碱基对的基因组增益或损失,这将‘平衡’结构变异(如倒位)与‘非平衡’结构变异(如缺失、重复和大型串联重复)区分开来。◉ 建立一个适用于所有结构变异的统一分类系统已被证明具有挑战性,部分原因在于难以用单一技术或检测方法鉴定所有结构变异,这一问题已在别处进行了近期综述。◉ 在本图中,指明了能够捕捉每个结构变异类别的技术;浅色六边形表示使用传统方法无法可靠检测该类别中大多数结构变异的技术。◉ 过去二十年的人类基因组研究中显示出一个普遍趋势:变异大小与人群中的丰度之间存在强烈的负相关关系。◉ 极端情况下,染色体级别的异常(即相互易位)在不到1%的个体中被观察到。◉ delINVdel,配对-缺失倒位;DUP-TRP/INV-DUP,重复-倒置三倍重复-重复;HERV,人类内源性逆转录病毒;INVdup,倒置重复;LINE,长散布元件;mCNV,多等位拷贝数变异;Med.,中位数;SINE,短散布元件;STR,短串联重复;SVA,SINE-可变数目串联重复-Alu;VNTR,可变数目串联重复。
生信菜鸟团
2025/07/12
4620
基因组 | Nat.Rev.Genet | 人类基因组中结构变异的多样性及其后果
文献解读-长读长测序-第十三期|《PrecisionFDA真相挑战第二版:利用短读长和长读长在难比对区域进行变异检测》
PrecisionFDA 始于 2015 年,旨在支持美国食品药品管理局 (FDA) 在基因组学方面的监管标准制定,此后扩展到支持所有组学领域。precisionFDA挑战框架是该平台最具对外特征的功能之一。该框架在面向公众的环境中举办生物数据挑战,并提供用于测试和验证的可用资源。
INSVAST
2024/07/01
2430
文献解读-长读长测序-第十三期|《PrecisionFDA真相挑战第二版:利用短读长和长读长在难比对区域进行变异检测》
破译诊断密码:长读长测序,点亮临床精准诊断新未来
天意生信云平台始终致力于为生命科学领域的科研人员与临床工作者提供高质量的学习资源与交流平台。我们深知,在技术日新月异的今天,仅仅掌握理论知识是远远不够的,系统性的学习、规范性的操作以及实战性的技能训练同样至关重要。特别是在三代测序这一前沿技术领域,深入理解其原理并掌握实际应用能力,已成为推动研究突破和临床诊断革新的关键。
用户11203141
2025/04/04
2740
破译诊断密码:长读长测序,点亮临床精准诊断新未来
Sentieon 项目文章 | 通过深度测序对血浆中游离线粒体 DNA 进行定量和表征
血浆中的线粒体DNA损伤相关分子模式(mtDNA DAMPs)与多种疾病的发病机制和预后密切相关。目前主流的qPCR检测方法存在诸多局限性,如易受核基因组线粒体插入序列干扰、检测范围有限等问题。
INSVAST
2025/07/08
2060
Sentieon 项目文章 | 通过深度测序对血浆中游离线粒体 DNA 进行定量和表征
文献解读-Sentieon DNAscope LongRead – A highly Accurate, Fast, and Efficient Pipelin
第三代测序技术凭借其超长读长特性在基因组学研究中发挥重要作用,能够更好地解析复杂区域、结构变异和重复序列,显著提高了基因组组装和变异检测的准确性,但面临着准确性和计算效率的挑战。因此,本文将介绍Sentieon 开发的DNAscope LongRead 。该工具不仅继承了Sentieon一贯的高性能特点,还专门针对长读长数据的特性进行了优化,能够准确处理PacBio HiFi等第三代测序数据。接下来让我们一起了解一下DNAscope LongRead 所展现出的性能优势吧!
INSVAST
2025/05/14
1290
文献解读-Sentieon DNAscope LongRead – A highly Accurate, Fast, and Efficient Pipelin
69 种基于全基因组测序数据分析结构变异的算法评估
在今年的 6 月份,基因组学领域的权威期刊Genome Biology发表了一篇方法学评估类文章,在这篇文章中作者系统地分类和评估了目前主要的69种基于全基因组测序(whole genome sequencing,WGS)数据分析结构变异的算法/方法:Comprehensive evaluation of structural variation detection algorithms for whole genome sequencing [1]。
用户6317549
2019/10/28
2.5K0
69 种基于全基因组测序数据分析结构变异的算法评估
了解基因组拼接
序列拼接也叫做基因组组装,是生物数据分析中最核心的工作。想要从基因组学角度来对一个生物进行研究,那么获得物种的全基因组序列,也就获得了其全部的遗传信息。这个就是序列拼接要完成的工作。
生信喵实验柴
2022/04/07
1.3K0
了解基因组拼接
群体遗传学习笔记:NGS结构变异检测原理
随着测序的成本越来越低,测序技术越发先进,除了研究单核苷酸多态性(SNP)。研究者们开始慢慢将目光转向了各位复杂,但是也同样非常常见的结构变异(SV)。接下来几期推文会和大家一起学习结构变异的检测原理,然后通过一系列的实战演练和大家一起熟悉一些相关的工具和流程。
生信菜鸟团
2020/06/02
2.4K0
基于PacBio HiFi数据的人类全基因组重测序变异分析流程
随着第三代测序技术,特别是PacBio HiFi(High Fidelity)测序技术的发展,我们能够获得兼具长读长和高准确度的测序数据。这为人类全基因组重测序(WGS)分析,尤其是复杂区域和结构性变异(Structural Variation, SV)的检测,带来了革命性的进步。本文旨在梳理一套完整的利用PacBio Sequel II或Revio平台产生的HiFi数据进行人类基因组变异分析的流程,详细介绍从原始数据处理、序列比对、变异检测、注释、过滤到可视化的各个环节,并涵盖所涉及的关键软件工具(如pbmm2, DeepVariant, pbsv, Annovar, SnpEff, AnnotSV, SnpSift, Slivar, IGV)的安装与使用细节。
天意生信云
2025/04/22
8610
基于PacBio HiFi数据的人类全基因组重测序变异分析流程
破译诊断密码:长读长测序,点亮临床精准诊断新未来
在现代医学实践中,仍有相当一部分遗传病患者及其家庭深陷漫长的诊断困境,历经多轮检测仍无法明确病因。传统的二代测序(NGS),虽在成本和通量上占据优势,但其短读长的固有局限性,在面对基因组的复杂“角落”——如结构变异(SVs)、串联重复序列异常扩增、复杂单倍型时,往往难以提供完整且准确的答案,导致诊断瓶颈。
天意生信云
2025/04/04
2850
破译诊断密码:长读长测序,点亮临床精准诊断新未来
Sentieon 应用教程 | 使用CNVscope进行CNV检测分析
CNV检测已成为全基因组分析的常规内容,并显著提升了阳性诊断率。然而,由于实验室水平和所使用软件的差异,目前仍难以全面、准确地覆盖CNV的检测与细节分析。尤其在数据分析环节,目前尚无开源软件能够在性能优越的同时,全面解决这一问题。以流行的CNVnator为例,这是一款基于Read Depth(RD)原理的拷贝数变异检测软件,主要用于全基因组数据分析。CNVnator不仅能在人群中进行拷贝数变异检测和基因分型,还能根据需求鉴定一些非典型CNV。
INSVAST
2024/09/02
3490
Sentieon 应用教程 | 使用CNVscope进行CNV检测分析
Nature重大突破:科学家成功完成Y染色体测序,标志着人类基因组的完整解读
这张扫描电子显微镜图像显示了一对连接的Y染色体(右)与一对连接的X染色体相比,在细胞分裂前期时重复的Y染色体(右)小了多少。图片来源:BIOPHOTO ASSOCIATES/SCIENCE SOURCE
生信宝典
2023/08/30
3800
Nature重大突破:科学家成功完成Y染色体测序,标志着人类基因组的完整解读
推荐阅读
Sentieon项目文章:泛基因组揭示小麦结构变异与栖息地及育种的关联
2110
Nature | 基于四代家系参考的人类新生突变率
4130
Sentieon | 泛基因组分析流程详解
1810
Sentieon 项目文章 | 偏远社区原住民澳大利亚人的血型基因组图谱
1470
Sentieon项目文章 | 儿童罕见病队列研究:整合研究与临床基因组学计划
1510
Nature | SMath:从19个非患病组织部位的150名捐献者中生成体细胞变异参考目录
2940
Sentieon | 每周文献-Long Read Sequencing(长读长测序)-第七期
1930
三代测序技术100问(2):PacBio 与 ONT,谁是你的长读长利器?
7290
基因组 | Nat.Rev.Genet | 人类基因组中结构变异的多样性及其后果
4620
文献解读-长读长测序-第十三期|《PrecisionFDA真相挑战第二版:利用短读长和长读长在难比对区域进行变异检测》
2430
破译诊断密码:长读长测序,点亮临床精准诊断新未来
2740
Sentieon 项目文章 | 通过深度测序对血浆中游离线粒体 DNA 进行定量和表征
2060
文献解读-Sentieon DNAscope LongRead – A highly Accurate, Fast, and Efficient Pipelin
1290
69 种基于全基因组测序数据分析结构变异的算法评估
2.5K0
了解基因组拼接
1.3K0
群体遗传学习笔记:NGS结构变异检测原理
2.4K0
基于PacBio HiFi数据的人类全基因组重测序变异分析流程
8610
破译诊断密码:长读长测序,点亮临床精准诊断新未来
2850
Sentieon 应用教程 | 使用CNVscope进行CNV检测分析
3490
Nature重大突破:科学家成功完成Y染色体测序,标志着人类基因组的完整解读
3800
相关推荐
Sentieon项目文章:泛基因组揭示小麦结构变异与栖息地及育种的关联
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
首页
学习
活动
专区
圈层
工具
MCP广场
首页
学习
活动
专区
圈层
工具
MCP广场