制作按照字母排序的WordPress标签页面

有时,一个简明易见的标签页面,能很方便帮助读者寻找到自己所招的关键字词,快速到达阅读页面,这里就贴出一种WordPoress的标签页面,按照字母A-Z顺序排列:

1.首先复制主题下的page.php页面,仅留下首尾文件的调用函数:

<?php get_header(); ?>
<?php get_footer(); ?>

2.在头文件 get_header() 上添加页面定义项:

<?php
/*
*Template Name: 标签页面
*Author:Olings
*Blog:http://www.olings.comn/
*/
?>

3.在头尾文件 get_header()和get_footer()  中间添加排序代码:

<section class="content">
  <div class="pad group">
    <div id="post">
      <?php while ( have_posts() ) : the_post(); ?>
      <article <?php post_class(); ?> itemscope itemtype="http://schema.org/Article">
        <div class="post-inner group">
          <header class="entry-header">
            <h1 class="post-title" itemprop="headline"><?php the_title(); ?></h1>
          </header>
          <div class="entry tag-sort" itemprop="articleBody">
            <div class="entry-inner">
              <?php the_content(); ?>
              <div id="first-letter">
                <a href="#A">A</a>
                <a href="#B">B</a>
                <a href="#C">C</a>
                <a href="#D">D</a>
                <a href="#E">E</a>
                <a href="#F">F</a>
                <a href="#G">G</a>
                <a href="#H">H</a>
                <a href="#I">I</a>
                <a href="#J">J</a>
                <a href="#K">K</a>
                <a href="#L">L</a>
                <a href="#M">M</a>
                <a href="#N">N</a>
                <a href="#O">O</a>
                <a href="#P">P</a>
                <a href="#Q">Q</a>
                <a href="#R">R</a>
                <a href="#S">S</a>
                <a href="#T">T</a>
                <a href="#U">U</a>
                <a href="#V">V</a>
                <a href="#W">W</a>
                <a href="#X">X</a>
                <a href="#Y">Y</a>
                <a href="#Z">Z</a>
              </div>
              <?php
              $d = array(
                array("a",-20319),
                array("ai",-20317),
                array("an",-20304),
                array("ang",-20295),
                array("ao",-20292),
                array("ba",-20283),
                array("bai",-20265),
                array("ban",-20257),
                array("bang",-20242),
                array("bao",-20230),
                array("bei",-20051),
                array("ben",-20036),
                array("beng",-20032),
                array("bi",-20026),
                array("bian",-20002),
                array("biao",-19990),
                array("bie",-19986),
                array("bin",-19982),
                array("bing",-19976),
                array("bo",-19805),
                array("bu",-19784),
                array("ca",-19775),
                array("cai",-19774),
                array("can",-19763),
                array("cang",-19756),
                array("cao",-19751),
                array("ce",-19746),
                array("ceng",-19741),
                array("cha",-19739),
                array("chai",-19728),
                array("chan",-19725),
                array("chang",-19715),
                array("chao",-19540),
                array("che",-19531),
                array("chen",-19525),
                array("cheng",-19515),
                array("chi",-19500),
                array("chong",-19484),
                array("chou",-19479),
                array("chu",-19467),
                array("chuai",-19289),
                array("chuan",-19288),
                array("chuang",-19281),
                array("chui",-19275),
                array("chun",-19270),
                array("chuo",-19263),
                array("ci",-19261),
                array("cong",-19249),
                array("cou",-19243),
                array("cu",-19242),
                array("cuan",-19238),
                array("cui",-19235),
                array("cun",-19227),
                array("cuo",-19224),
                array("da",-19218),
                array("dai",-19212),
                array("dan",-19038),
                array("dang",-19023),
                array("dao",-19018),
                array("de",-19006),
                array("deng",-19003),
                array("di",-18996),
                array("dian",-18977),
                array("diao",-18961),
                array("die",-18952),
                array("ding",-18783),
                array("diu",-18774),
                array("dong",-18773),
                array("dou",-18763),
                array("du",-18756),
                array("duan",-18741),
                array("dui",-18735),
                array("dun",-18731),
                array("duo",-18722),
                array("e",-18710),
                array("en",-18697),
                array("er",-18696),
                array("fa",-18526),
                array("fan",-18518),
                array("fang",-18501),
                array("fei",-18490),
                array("fen",-18478),
                array("feng",-18463),
                array("fo",-18448),
                array("fou",-18447),
                array("fu",-18446),
                array("ga",-18239),
                array("gai",-18237),
                array("gan",-18231),
                array("gang",-18220),
                array("gao",-18211),
                array("ge",-18201),
                array("gei",-18184),
                array("gen",-18183),
                array("geng",-18181),
                array("gong",-18012),
                array("gou",-17997),
                array("gu",-17988),
                array("gua",-17970),
                array("guai",-17964),
                array("guan",-17961),
                array("guang",-17950),
                array("gui",-17947),
                array("gun",-17931),
                array("guo",-17928),
                array("ha",-17922),
                array("hai",-17759),
                array("han",-17752),
                array("hang",-17733),
                array("hao",-17730),
                array("he",-17721),
                array("hei",-17703),
                array("hen",-17701),
                array("heng",-17697),
                array("hong",-17692),
                array("hou",-17683),
                array("hu",-17676),
                array("hua",-17496),
                array("huai",-17487),
                array("huan",-17482),
                array("huang",-17468),
                array("hui",-17454),
                array("hun",-17433),
                array("huo",-17427),
                array("ji",-17417),
                array("jia",-17202),
                array("jian",-17185),
                array("jiang",-16983),
                array("jiao",-16970),
                array("jie",-16942),
                array("jin",-16915),
                array("jing",-16733),
                array("jiong",-16708),
                array("jiu",-16706),
                array("ju",-16689),
                array("juan",-16664),
                array("jue",-16657),
                array("jun",-16647),
                array("ka",-16474),
                array("kai",-16470),
                array("kan",-16465),
                array("kang",-16459),
                array("kao",-16452),
                array("ke",-16448),
                array("ken",-16433),
                array("keng",-16429),
                array("kong",-16427),
                array("kou",-16423),
                array("ku",-16419),
                array("kua",-16412),
                array("kuai",-16407),
                array("kuan",-16403),
                array("kuang",-16401),
                array("kui",-16393),
                array("kun",-16220),
                array("kuo",-16216),
                array("la",-16212),
                array("lai",-16205),
                array("lan",-16202),
                array("lang",-16187),
                array("lao",-16180),
                array("le",-16171),
                array("lei",-16169),
                array("leng",-16158),
                array("li",-16155),
                array("lia",-15959),
                array("lian",-15958),
                array("liang",-15944),
                array("liao",-15933),
                array("lie",-15920),
                array("lin",-15915),
                array("ling",-15903),
                array("liu",-15889),
                array("long",-15878),
                array("lou",-15707),
                array("lu",-15701),
                array("lv",-15681),
                array("luan",-15667),
                array("lue",-15661),
                array("lun",-15659),
                array("luo",-15652),
                array("ma",-15640),
                array("mai",-15631),
                array("man",-15625),
                array("mang",-15454),
                array("mao",-15448),
                array("me",-15436),
                array("mei",-15435),
                array("men",-15419),
                array("meng",-15416),
                array("mi",-15408),
                array("mian",-15394),
                array("miao",-15385),
                array("mie",-15377),
                array("min",-15375),
                array("ming",-15369),
                array("miu",-15363),
                array("mo",-15362),
                array("mou",-15183),
                array("mu",-15180),
                array("na",-15165),
                array("nai",-15158),
                array("nan",-15153),
                array("nang",-15150),
                array("nao",-15149),
                array("ne",-15144),
                array("nei",-15143),
                array("nen",-15141),
                array("neng",-15140),
                array("ni",-15139),
                array("nian",-15128),
                array("niang",-15121),
                array("niao",-15119),
                array("nie",-15117),
                array("nin",-15110),
                array("ning",-15109),
                array("niu",-14941),
                array("nong",-14937),
                array("nu",-14933),
                array("nv",-14930),
                array("nuan",-14929),
                array("nue",-14928),
                array("nuo",-14926),
                array("o",-14922),
                array("ou",-14921),
                array("pa",-14914),
                array("pai",-14908),
                array("pan",-14902),
                array("pang",-14894),
                array("pao",-14889),
                array("pei",-14882),
                array("pen",-14873),
                array("peng",-14871),
                array("pi",-14857),
                array("pian",-14678),
                array("piao",-14674),
                array("pie",-14670),
                array("pin",-14668),
                array("ping",-14663),
                array("po",-14654),
                array("pu",-14645),
                array("qi",-14630),
                array("qia",-14594),
                array("qian",-14429),
                array("qiang",-14407),
                array("qiao",-14399),
                array("qie",-14384),
                array("qin",-14379),
                array("qing",-14368),
                array("qiong",-14355),
                array("qiu",-14353),
                array("qu",-14345),
                array("quan",-14170),
                array("que",-14159),
                array("qun",-14151),
                array("ran",-14149),
                array("rang",-14145),
                array("rao",-14140),
                array("re",-14137),
                array("ren",-14135),
                array("reng",-14125),
                array("ri",-14123),
                array("rong",-14122),
                array("rou",-14112),
                array("ru",-14109),
                array("ruan",-14099),
                array("rui",-14097),
                array("run",-14094),
                array("ruo",-14092),
                array("sa",-14090),
                array("sai",-14087),
                array("san",-14083),
                array("sang",-13917),
                array("sao",-13914),
                array("se",-13910),
                array("sen",-13907),
                array("seng",-13906),
                array("sha",-13905),
                array("shai",-13896),
                array("shan",-13894),
                array("shang",-13878),
                array("shao",-13870),
                array("she",-13859),
                array("shen",-13847),
                array("sheng",-13831),
                array("shi",-13658),
                array("shou",-13611),
                array("shu",-13601),
                array("shua",-13406),
                array("shuai",-13404),
                array("shuan",-13400),
                array("shuang",-13398),
                array("shui",-13395),
                array("shun",-13391),
                array("shuo",-13387),
                array("si",-13383),
                array("song",-13367),
                array("sou",-13359),
                array("su",-13356),
                array("suan",-13343),
                array("sui",-13340),
                array("sun",-13329),
                array("suo",-13326),
                array("ta",-13318),
                array("tai",-13147),
                array("tan",-13138),
                array("tang",-13120),
                array("tao",-13107),
                array("te",-13096),
                array("teng",-13095),
                array("ti",-13091),
                array("tian",-13076),
                array("tiao",-13068),
                array("tie",-13063),
                array("ting",-13060),
                array("tong",-12888),
                array("tou",-12875),
                array("tu",-12871),
                array("tuan",-12860),
                array("tui",-12858),
                array("tun",-12852),
                array("tuo",-12849),
                array("wa",-12838),
                array("wai",-12831),
                array("wan",-12829),
                array("wang",-12812),
                array("wei",-12802),
                array("wen",-12607),
                array("weng",-12597),
                array("wo",-12594),
                array("wu",-12585),
                array("xi",-12556),
                array("xia",-12359),
                array("xian",-12346),
                array("xiang",-12320),
                array("xiao",-12300),
                array("xie",-12120),
                array("xin",-12099),
                array("xing",-12089),
                array("xiong",-12074),
                array("xiu",-12067),
                array("xu",-12058),
                array("xuan",-12039),
                array("xue",-11867),
                array("xun",-11861),
                array("ya",-11847),
                array("yan",-11831),
                array("yang",-11798),
                array("yao",-11781),
                array("ye",-11604),
                array("yi",-11589),
                array("yin",-11536),
                array("ying",-11358),
                array("yo",-11340),
                array("yong",-11339),
                array("you",-11324),
                array("yu",-11303),
                array("yuan",-11097),
                array("yue",-11077),
                array("yun",-11067),
                array("za",-11055),
                array("zai",-11052),
                array("zan",-11045),
                array("zang",-11041),
                array("zao",-11038),
                array("ze",-11024),
                array("zei",-11020),
                array("zen",-11019),
                array("zeng",-11018),
                array("zha",-11014),
                array("zhai",-10838),
                array("zhan",-10832),
                array("zhang",-10815),
                array("zhao",-10800),
                array("zhe",-10790),
                array("zhen",-10780),
                array("zheng",-10764),
                array("zhi",-10587),
                array("zhong",-10544),
                array("zhou",-10533),
                array("zhu",-10519),
                array("zhua",-10331),
                array("zhuai",-10329),
                array("zhuan",-10328),
                array("zhuang",-10322),
                array("zhui",-10315),
                array("zhun",-10309),
                array("zhuo",-10307),
                array("zi",-10296),
                array("zong",-10281),
                array("zou",-10274),
                array("zu",-10270),
                array("zuan",-10262),
                array("zui",-10260),
                array("zun",-10256),
                array("zuo",-10254)
                );
                ?>
                <?php
                function g($num){
                  global $d;
                  if($num>0&&$num<160){
                    return chr($num);
                  }
                  elseif($num<-20319||$num>-10247){
                    return "";
                  }else{
                    for($i=count($d)-1;$i>=0;$i--){
                      if($d[$i][1]<=$num)break;
                    }
                    return $d[$i][0];
                  }
                }
                function c($str){
                  $ret="";
                  for($i=0;$i<strlen($str);$i++){
                    $p=ord(substr($str,$i,1));
                    if($p>160){
                      $q=ord(substr($str,++$i,1));
                      $p=$p*256+$q-65536;
                    }
                    $ret.=g($p);
                  }
                  return $ret;
                }
                $letters="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
                $lehtml = "<ul class='all-tags'>";
                for($i=0;$i<strlen($letters);$i++){
                  $firstLetter = $letters{$i};
                  $lehtml.= "<li id='".$firstLetter."'><h3>".$firstLetter."</h3></li><li></li>";
                }
                $lehtml .= "</ul>";
                echo $lehtml;
                $index = 0;
                $html = '[';
                foreach (get_tags( array('number' => 2000, 'orderby' => 'name', 'order' => 'DESC', 'hide_empty' => true) ) as $tag){
                  $tag_link = get_tag_link($tag->term_id);
                  $fl= substr( c( iconv("UTF-8","GB2312",$tag->name)), 0, 1 );
                  $html.='{"firstL":"'.$fl.'","tagName":"'.$tag->name.'<i>('.$tag->count.')</i>'.'","tagUrl":"'.$tag_link.'"}';
                  $html.=",";
                }
                $html = substr($html,0,strlen($html)-1);
                $html .= ']';
                echo "<script>var data=".$html.";</script>";
                ?>
                <script>
                  jQuery(document).ready(function ($){
                   for(var i=0;i<data.length;i++){
                     var d = data[i];
                     $("#"+d.firstL.toUpperCase()).append("<a href='"+d.tagUrl+"'>"+d.tagName+"</a>");
                   }
                 })
                </script>
              </div>
              <div class="clear"></div>
            </div><!--/.entry-->
          </div><!--/.post-inner-->
        </article><!--/.post-->
      <?php endwhile;?>
      <div class="clear"></div>
    </div>
  </div><!--/.pad-->
</section><!--/.content-->

4、新建页面,在“页面属性”中选择模板“标签页面”,发布即可。

发表评论