悬镜司 悬镜司
  • 注册
  • 登录
  • 首页
  • 源码
    • asp源码
    • php源码
    • java源码
    • 其它源码
  • 模板市场
    • thinkphp模板
    • 织梦模板
    • 帝国模板
    • wordpress模板
    • 苹果cms模板
    • discuz模板
    • 其它模板
  • 帮助文档
    • cms教程
      • destoon
      • 织梦cms
      • 帝国cms
      • wordpress
      • Discuz
      • 苹果cms
      • 其它教程
    • 编程技术
    • 前端设计
    • 推广运营
    • 服务器
      • windows服务器
      • linux服务器
      • unix服务器
    • 数据库
      • mysql数据库
      • SQLite
    • 移动端
      • wap
      • Android
      • IOS
    • 其它
  • 游戏
  • 站长那些事
  • 软件推荐
  • 公告
首页 › 帮助文档 › cms教程 › wordpress › WordPress调用相关文章代码

WordPress调用相关文章代码

悬镜司
5月前wordpress
191 0 0

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>
wordpress wordpress相关文章
赞赏
如果感觉小编写的不错,打赏支持一下小编吧~
0
本文系作者 @悬镜司 原创发布在 悬镜司。未经许可,禁止转载。
加固WordPress让网站运营更安全
上一篇
Wordpress模板主题设计代码大全
下一篇
评论 (0)

请登录以参与评论。

现在登录
随机推荐
Destoon7.0模板 蓝色宽屏 整站打包
5月前
wordpress seo优化的一些建议
4月前
WordPress模板主题设计代码大全
5月前
php分类信息多城市系统 同城信息发布程序
4月前
启动前如何测试网站的可用性
4月前
Web开发人员养成良好的编程习惯
5月前
热门标签
asp源码 dedecms dedecms5.8 dedecms安装教程 dedecms教程 Destoon Destoon模板 linux linux面板 php SEO优化 thinklc thinklc手机模板 thinklc模板 thinkphp thinkphp模板 Web wordpress wordpress5.5 wordpress主题 WordPress优化 wordpress安全 wordpress忘记密码 wordpress插件 xml 企业模板 分类信息 分类信息模板 分类信息源码 单位网站程序 响应式 宝塔面板 宝塔面板漏洞 帝国cms 帝国cms模板 护卫神面板 政府CMS 政府程序 漏洞 网址导航 网址导航源码 网站 网站地图 苗木程序模板 行业模板
相关文章
如何将WordPress面包屑添加到您的网站主题
wordpress seo优化的一些建议
WordPress为什么是博客和企业最常用的网站之一?
wordpress主题响应式网页设计的注意事项
关于我们

悬镜司(www.xuanjingsi.com)为您提供php、小程序、app等各类程序源码搭建、二次开发、修改、维护服务,wordpress、苹果cms、dedecms、帝国cms主题模板定制,我们致力于打造一个优秀的建站资源下载学习平台。

专题推荐
宝塔面板 wordpress教程 wordpress模板 thinkphp dedecms Destoon 帝国cms wordpress插件
推荐栏目
php源码 java源码 wordpress dedecms 站长 服务器 游戏 thinkphp 数据库 推广运营 前端设计 编程技术 教程
Copyright © 2018-2021 悬镜司版权所有.由WordPress强力驱动. 苏ICP备18018208号-2 苏公网备案32131102000445号
  • 首页
  • 源码
    • asp源码
    • php源码
    • java源码
    • 其它源码
  • 模板市场
    • thinkphp模板
    • 织梦模板
    • 帝国模板
    • wordpress模板
    • 苹果cms模板
    • discuz模板
    • 其它模板
  • 帮助文档
    • cms教程
    • 编程技术
    • 前端设计
    • 推广运营
    • 服务器
    • 数据库
    • 移动端
    • 其它
  • 游戏
  • 站长那些事
  • 软件推荐
  • 公告
热门搜索
  • wordpress
  • wordpress主题
  • wordpress5.5
  • wordpress插件
  • linux面板
  • linux
  • 网站
  • 宝塔面板
  • php
  • 分类信息源码
  • dedecms
  • 网站地图
  • xml
  • wordpress安全
  • Web
  • 分类信息
  • 护卫神面板
  • SEO优化
悬镜司
悬镜司(www.xuanjingsi.com)为站长提供网站模板、源码资源,dedecms模板,discuz模板,wordpress模板,html5模板下载,我们致力于打造一个优秀的建站资源下载学习平台。
33 文章
2 评论
32 喜欢
  • 0
  • 0
  • Top
没有账号? 注册忘记密码?

社交账号快速登录

QQ登录 微信登录
获取邮箱验证码
已有账号? 登录

社交账号快速注册

QQ注册 微信注册