主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
WordPress是如何实现相关文章的功能的?下面这篇文章介绍了WordPress代码实现相关文章的几种方式,希望对你有所帮助!
很多WordPress插件都可以实现相关文章的功能。插件的好处是配置简单,但是可能会对网站的速度产生一些小的影响。所以很多人更喜欢用代码来实现所需的功能。不过话说回来,代码实现也有缺点,就是配置复杂,不懂代码的人完全糊涂或者只能抄袭别人的代码,不如用插件。
在这里,我整理了几种用代码实现相关文章的方法,会详细注明代码各部分的功能,以及如何定制自己想要的功能,希望对大家有所帮助。在我们开始之前,很清楚以下所有方法输出的HTML代码格式都是以下形式,您可以根据需要修改它们:
& ltul id = & quotxxx & quot& gt& lt李& gt* & lta title = & quot文章标题1 & quotrel = & quot书签& quothref = & quot文章链接1 & quot& gt文章标题1
& ltul id = & quot标签_相关& quot& gt& lt?phpglobal $ post$ post _ tags = WP _ get _ post _ tags($ post-& gt;ID);if($ post _ tags){ foreach($ post _ tags as $ tag){//获取标记列表$tag_list[]。= $ tag-& gt;术语标识;}//随机获取标签列表中的一个标签$ post _ tag = $ tag _ list [mt _ rand (0,count($ tag _ list)-1)];//此方法使用query_posts()函数调用相关文章。下面是参数列表$ args = array(& # 39;标签_ _ in & # 39= & gt数组($post_tag),& # 39;类别_ _ not _ in & # 39= & gt数组(空),//排除的类别ID & # 39post _ _ not _ in & # 39= & gt数组($ post->;ID)、& # 39;海报& # 39;= & gt6.//显示相关文章的数量& # 39;caller _ get _ posts & # 39= & gt1 );query _ posts($ args);if(have _ posts()){ while(have _ posts()){ the _ post();update _ post _ cache($post);?& gt& lt李& gt* & lta href = & quot& lt?PHP the _ permalink();?& gt"rel = & quot书签& quottitle = & quot& lt?PHP the _ title _ attribute();?& gt"& gt& lt?PHP the _ title();?& gt& lt/a & gt;& lt/李& gt& lt?php } } else { echo & # 39& lt李& gt*暂时没有相关文章
方法二:分类关联这种方法是通过获取文章的分类id,然后获取该分类下的文章,从而获取相关文章。
& ltul id = & quotcat _ related & quot& gt& lt?phpglobal $ post$ cats = WP _ get _ post _ categories($ post-& gt;ID);if($ cats){ $ args = array(& # 39;& # 39;中的类别_ _;= & gt数组($cats[0])、& # 39;post _ _ not _ in & # 39= & gt数组($ post->;ID)、& # 39;海报& # 39;= & gt6, 'caller _ get _ posts & # 39= & gt1 );query _ posts($ args);if(have _ posts()){ while(have _ posts()){ the _ post();update _ post _ cache($post);?& gt& lt李& gt* & lta href = & quot& lt?PHP the _ permalink();?& gt"rel = & quot书签& quottitle = & quot& lt?PHP the _ title _ attribute();?& gt"& gt& lt?PHP the _ title();?& gt& lt/a & gt;& lt/李& gt& lt?php } } else { echo & # 39& lt李& gt*暂时没有相关文章
& ltul id = & quot标签_相关& quot& gt& lt?phpglobal $post,$ wpdb$ post _ tags = WP _ get _ post _ tags($ post-& gt;ID);if($ post _ tags){ $ tag _ list = & # 39;';Foreach ($post_tags as $tag) {//获取标记列表$tag_list。= $ tag-& gt;术语标识。',';} $tag_list = substr($tag_list,0,strlen($ tag _ list)-1);$ related _ posts = $ wpdb-& gt;获取结果(& quotSELECT DISTINCT ID,post _ title FROM { $ wpdb-& gt;前缀}文章,{ $ wpdb-& gt;前缀}term_relationships,{ $ wpdb-& gt;前缀}term_taxonomy,其中{$wpdb->prefix } term _ taxonomy . term _ taxonomy _ id = { $ wpdb-& gt;prefix } term _ relationships . term _ taxonomy _ ID AND ID = object _ ID AND taxonomy = & # 39;post _ tag & # 39而post _ status = & # 39出版& # 39;而post _ type = & # 39邮政& # 39;和term _ id(& quot;。$tag_list。")和ID!= '"。$ post->;身份证。"'ORDER BY RAND()LIMIT 6 & quot;);//在上面的代码中,6用于限制只能访问6篇相关文章//通过修改数字6,可以修改你想要的文章数,如果($ related _ posts){ foreach($ related _ posts as $ related _ posts){?& gt& lt李& gt& lta href = & quot& lt?PHP echo get _ permalink($ related _ post-& gt;ID);?& gt"rel = & quot书签& quottitle = & quot& lt?PHP echo $ related _ post-& gt;post _ title?& gt"& gt& lt?PHP echo $ related _ post-& gt;post _ title?& gt& lt/a & gt;& lt/李& gt& lt?php } } else { echo & # 39& lt李& gt暂时没有相关的文章
& ltul id = & quotcat _ related & quot& gt& lt?phpglobal $post,$ wpdb$ cats = WP _ get _ post _ categories($ post-& gt;ID);if($ cats){ $ related = $ wpdb-& gt;获取结果(& quotSELECT post_title,ID FROM { $ wpdb-& gt;前缀}文章,{ $ wpdb-& gt;前缀}term_relationships,{ $ wpdb-& gt;前缀}term_taxonomy,其中{$wpdb->前缀}帖子。ID = { $ wpdb-& gt;前缀}term_relationships.object_id和{ $ wpdb-& gt;prefix } term _ taxonomy . taxonomy = & # 39;类别& # 39;和{ $ wpdb-& gt;prefix } term _ taxonomy . term _ taxonomy _ id = { $ wpdb-& gt;前缀} term _ relationships . term _ taxonomy _ id和{ $ wpdb-& gt;prefix } posts.post _ status = & # 39出版& # 39;和{ $ wpdb-& gt;prefix } posts.post _ type = & # 39邮政& # 39;和{ $ wpdb-& gt;prefix } term _ taxonomy . term _ id = & # 39;"。$cats[0]。"'和{ $ wpdb-& gt;前缀}帖子。ID!= '"。$ post->;身份证。"'ORDER BY RAND()LIMIT 6 & quot;);if($ related){ foreach($ related as $ related _ post){?& gt& lt李& gt* & lta href = & quot& lt?PHP echo get _ permalink($ related _ post-& gt;ID);?& gt"rel = & quot书签& quottitle = & quot& lt?PHP echo $ related _ post-& gt;post _ title?& gt"& gt& lt?PHP echo $ related _ post-& gt;post _ title?& gt& lt/a & gt;& lt/李& gt& lt?php } } else { echo & # 39& lt李& gt*暂时没有相关文章
& ltul id = & quot作者_相关& quot& gt& lt?php global $ post$ post _ author = get _ the _ author _ meta(& # 39;user _ login & # 39);$ args = array(& # 39;作者姓名& # 39;= & gt$post_author,& # 39;post _ _ not _ in & # 39= & gt数组($ post->;ID)、& # 39;海报& # 39;= & gt6.//显示相关文章的数量& # 39;orderby & # 39= & gt日期,//按时间排序& # 39;caller _ get _ posts & # 39= & gt1 );query _ posts($ args);if(have _ posts()){ while(have _ posts()){ the _ post();update _ post _ cache($post);?& gt& lt李& gt* & lta href = & quot& lt?PHP the _ permalink();?& gt"rel = & quot书签& quottitle = & quot& lt?PHP the _ title _ attribute();?& gt"& gt& lt?PHP the _ title();?& gt& lt/a & gt;& lt/李& gt& lt?php } } else { echo & # 39& lt李& gt*暂时没有相关文章
方法一:0.18067908287048秒方法二:0.0594690967秒方法三:0.07260400537秒方法四:0.04599秒方法五:0.0011秒。
推荐学习:WordPress教程
WordPress就是这样实现相关文章功能的。分享方法详情请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 如何清除WordPress缓存?(WordPress消耗内存)
- 如果将图像上传到 WordPress 网站时出现 HTTP 错误,我该怎么办?
- 如何解决WordPress媒体库图片加载错误(WordPress媒体库文件路径)
- 如果您的WordPress站点无法更新怎么办(如何设置WordPress站点地址)
- 如何防止独立WordPress外贸网站被搜索引擎索引
本文由主机参考刊发,转载请注明:WordPress是如何实现相关文章的功能的?分享的几种方法(wordpress文章编辑器) https://zhujicankao.com/91805.html
评论前必须登录!
注册