wordpress获取当前tag页面的标签ID、别名
在wordpress主题开发中,想在标签文章列表页面获取当前标签的ID、别名怎么办?可以通过标签名称使用get_term_by()函数来实现,get_term_by()
函数可以返回分类或标签的名称、别名和ID等信息。
1 2 3 4 5 | if(is_tag()){ $tagName = single_tag_title('',false); $tagObject = get_term_by('name',$tagName,'post_tag'); $tagID = $tagObject->term_id; } |
代码意思:在标签页面,选择获取当前标签页面的标签名称,使用该标签名称通过get_term_by()
函数返回一个数组值,然后就可以获取数组中当前标签的ID了。
扩展:
也可以写成函数放在主题的functions.php文件(以下代码二选一)
代码一:
1 2 3 4 5 6 7 8 9 | function get_tag_id() { $tagname = single_tag_title('',false); $tag = get_term_by('name', $tagname, 'post_tag'); if($tag){ return $tag->term_id; }else{ return 0; } } |
代码二:
1 2 3 4 5 6 7 | function get_tag_id() { $current_tag = single_tag_title('', false); $tags = get_tags(); foreach($tags as $tag) { if($tag->name == $current_tag) return $tag->term_id; } } |
调用代码:
1 | <?php echo get_tag_id();?> |
除非注明,文章均由 博客吧 整理发布,欢迎转载。
转载请注明本文地址:https://www.boke8.net/wordpress-current-tag-info.html
如果喜欢,可以:点此订阅本站
网友留言:
有没有办法实现wordpress的标签自动使用标签ID作为标签的别名呢。
比如这个标签的名词虽然是“明星”,正常来说如果不是设置的别名,那么别名就是默认的“明星”,但这样显然对SEO不好,毕竟是中文的URL,如果想改成英文URL,还是去编辑标签,手动设置别名,我想实现的效果是,不管我标签是什么内容,别名都是统一使用标签的ID作为别名,或者给标签ID加上一个固定的词。
比如标签是:明星 标签的别名是 t01 ,这里的t是我们自己固定的词,01是明星这个标签的ID
不知道这样的效果是否容易实现。
谢谢!
实现了吗