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();?>