网站地图    收藏   

主页 > 后端 > wordpress教程 >

WordPress调用当前分类目录/当前TAG标签的热门文章

来源:自学PHP网    时间:2014-11-28 23:42 作者: 阅读:

[导读] 一些wordpress站点由于分类目录比较多,热门文章栏目就有必要实现调用指定分类目录或指定TAG标签的热门文章,这里需要用到的WP-Postviews插件的一些函数:get_most_viewed()、get_most_viewed_categ...

WordPress调用当前分类目录/当前TAG标签的热门文章

一些wordpress站点由于分类目录比较多,热门文章栏目就有必要实现调用指定分类目录或指定TAG标签的热门文章,这里需要用到的WP-Postviews插件的一些函数:

get_most_viewed()、get_most_viewed_category()、get_most_viewed_tag(),方便了我们直接调用相关的热门文章,只需要打开主题文件sidebar.php文件,添加如下代码到需要的位置即可:

显示浏览次数最多的文章或页面,这个包括你的页面,如个人介绍、版权说明等,默认显示10条,代码如下:

<?php get_most_viewed(); ?>

只显示浏览次数最多的文章,代码如下:

<?php get_most_viewed(‘post’); ?>

只想显示15篇浏览次数最多的文章,代码如下:

<?php get_most_viewed(‘post’,15); ?>

相信通过以上几个例子,对WP-Postviews插件的这几个函数已经有所了解了吧,接下来具体介绍一下Wordpress如何调用当前分类目录或当前TAG标签的热门文章的方法,首先将如下代码放到主题文件functions.php中:

  1. function get_current_category_id() { 
  2. $current_category = single_cat_title(”, false);//获得当前分类目录名称 
  3. return get_cat_ID($current_category);//获得当前分类目录ID 
  4. function get_current_tag_id() { 
  5. $current_tag = single_tag_title(”, false);//获得当前TAG标签名称 
  6. $tags = get_tags();//获得所有TAG标签信息的数组 
  7. foreach($tags as $tag) { 
  8. if($tag->name == $current_tagreturn $tag->term_id; //获得当前TAG标签ID,其中term_id就是tag ID 

这一步是为了获得指定分类目录ID或指定TAG标签ID,之后就可以在需要的地方使用如下代码来调用functions文件里的函数就可以实现想要的功能了:

  1. <?php 
  2. if (is_category()) 
  3. get_most_viewed_category(get_current_category_id()); 
  4. elseif (is_tag()) 
  5. get_most_viewed_tag(get_current_tag_id()); 
  6. else { 
  7. get_most_viewed(); 
  8. ?> 

Ok,到此关于Wordpress调用当前分类目录或当前TAG标签的热门文章的方法就介绍完毕了.

补充:将上述代码中的most替换为least即可实现冷门文章的调用,补充一个文章页面调用tag和分类目录做关键字,代码如下:

  1. $keywords = ''
  2. $tags = wp_get_post_tags($post->ID); 
  3. foreach ($tags as $tag ) { 
  4.         $keywords .= $keywords . $tag->name . ', '
  5. // $post->ID有可无,默认会选择当前文章ID 
  6. foreach(get_the_category($post->ID) as $category) { 
  7.         $keywords .= $category->cat_name . ', '
  8. // 清楚关键字最后一个逗号 
  9. $keywords = rtrim($keywords', '); 
  10. // 加上这两行 
  11. $keywordsArray = array_unique(explode(', '$keywords)); 
  12. $keywords = implode(', '$keywordsArray); 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论