获取WordPress当前分类文章所有标签
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。脚本之家小编现在分享给大家,也给大家做个参考。 如果需要在分类列表页面,显示当前分类文章中添加的所有标签,方便读者阅读自己喜欢的内容,下面的代码可以帮你实现这个功能。首先,在主题 unctions.php 模板文件中添加以下函数: function get_category_tags($args) { global $wpdb; $tags = $wpdb->get_results (" SELECT DISTINCT terms2.term_id as tag_id,terms2.name as tag_name FROM $wpdb->posts as p1 LEFT JOIN $wpdb->term_relationships as r1 ON p1.ID = r1.object_ID LEFT JOIN $wpdb->term_taxonomy as t1 ON r1.term_taxonomy_id = t1.term_taxonomy_id LEFT JOIN $wpdb->terms as terms1 ON t1.term_id = terms1.term_id, $wpdb->posts as p2 LEFT JOIN $wpdb->term_relationships as r2 ON p2.ID = r2.object_ID LEFT JOIN $wpdb->term_taxonomy as t2 ON r2.term_taxonomy_id = t2.term_taxonomy_id LEFT JOIN $wpdb->terms as terms2 ON t2.term_id = terms2.term_id WHERE t1.taxonomy = 'category' AND p1.post_status = 'publish' AND terms1.term_id IN (".$args['categories'].") AND t2.taxonomy = 'post_tag' AND p2.post_status = 'publish' AND p1.ID = p2.ID ORDER by tag_name "); $count = 0; if($tags) { foreach ($tags as $tag) { $mytag[$count] = get_term_by('id',$tag->tag_id,'post_tag'); $count++; } } else { $mytag = NULL; } return $mytag; } 其次,将下面调用输出代码,添加到主题 archive.php 模板适当位置: <?php $cat= single_cat_title('',false); $args = array( 'categories' => get_cat_ID($cat)); $tags = get_category_tags($args); $content .= "<ul class='cat-tag'>"; if(!empty($tags)) { foreach ($tags as $tag) { $content .= "<li><a href="".get_tag_link($tag->term_id)."">".$tag->name."</a></li>"; } } $content .= "</ul>"; echo $content; ?> 个人感觉放到头部调用函数下面比较合适: <?php get_header(); ?> 最后,再适当加上样式即可: .cat-tag{ float: left; width: 100%; } .cat-tag li a{ float: left; margin: 0 5px; } 以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
