function specs_show_tags() {
if(!$output = get_option('specs_tags_list')){
$categories = get_terms( 'post_tag', array(
'orderby' => 'count',
'hide_empty' => 1
) );
$r = array();
foreach($categories as $v){
for($i = 65; $i <= 90; $i++){
if(strtoupper(Chinese_to_PY::getPY($v->name,'one')) == chr($i)){
$r[chr($i)][] = $v;
}
}
for($i=48;$i<=57;$i++){
if(strtoupper(Chinese_to_PY::getPY($v->name,'one')) == chr($i)){
$r[chr($i)][] = $v;
}
}
}
ksort($r);
$output = "<ul class='list-inline' id='tag_letter'>";
for($i=65;$i<=90;$i++){
$tagi = $r[chr($i)];
if(is_array($tagi)){
$output .= "<li><a href='#".chr($i)."'>".chr($i)."</a></li>";
}else{
$output .= "<li>".chr($i)."</li>";
}
}
for($i=48;$i<=57;$i++){
$tagi = $r[chr($i)];
if(is_array($tagi)){
$output .= "<li><a href='#".chr($i)."'>".chr($i)."</a></li>";
}else{
$output .= "<li>".chr($i)."</li>";
}
}
$output .= "</ul>";
$output .= "<ul id='all_tags' class='list-unstyled'>";
for($i=65;$i<=90;$i++){
$tagi = $r[chr($i)];
if(is_array($tagi)){
$output .= "<li id='".chr($i)."'><h4 class='tag_name'>".chr($i)."</h4>";
foreach($tagi as $tag){
$output .= "<a href='".get_tag_link($tag->term_id)."'>".$tag->name."(".$tag->count.")</a>";
}
}
}
for($i=48;$i<=57;$i++){
$tagi = $r[chr($i)];
if(is_array($tagi)){
$output .= "<li id='".chr($i)."'><h4 class='tag_name'>".chr($i)."</h4>";
foreach($tagi as $tag){
$output .= "<a href='".get_tag_link($tag->term_id)."'>".$tag->name."(".$tag->count.")</a>";
}
}
}
$output .= "</ul>";
update_option('specs_tags_list', $output);
}
echo $output;
}
第三步、添加在发布/更新文章时清空换成的函数,放在 specs_show_tags 函数后面即可
function clear_tags_cache() {
update_option('specs_tags_list', ''); // 清空 specs_archives_list
}
add_action('save_post', 'clear_tags_cache'); // 新发表文章/修改文章时
然后复制一份 page.php 文件,把其中 the_content(); 部分换成 specs_show_tags();,并把 Template Name 名字替换为“标签页面”,然后在后台新建一个页面,模板选择“标签页面”,保存即可。
1 2

