欢迎您访问洛书博客 星光不问赶路人,时光不负有心人! 本站官方网址:www.ls-bk.com
  • 微信微信
  • QQQQ
您现在的位置是:首页 > 实用教程

Typecho制作单独的标签标签聚合页面调用所有标签方式

洛书2020-11-15
一般我们在自己制作或选择的其他人Typecho主题的时候,都会替换单篇文章有调用单篇文章的标签,并且可能在侧栏或底部会召唤部分热门的标签。将所有的标签聚合到一个页面,这里就需要独立制作一个标签模板页面。
  • 这里我们直接在模板目录创建一个tags.php模板页面丢进去,然后在后台新建页面,选择tags.php作为模板页面就可以。
<?php
    /**
    * 全部标签
    *
    * @package custom
    */
//代码
?>
<?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; ?>
<?php $this->need('component/header.php'); ?>

    <!-- aside -->
    <?php $this->need('component/aside.php'); ?>
    <!-- / aside -->

<header class="bg-light lter wrapper-md">
          <h1 class="m-n font-thin text-black l-h"><?php _me("全部标签") ?></h1>
          <small class="text-muted letterspacing indexWords"><?php $this->options->description() ?></small>
          </header>
<section id="tag_cloud-2" class="widget widget_tag_cloud wrapper-md clear" style="margin-bottom:auto;">
            <h2 id="tag-cloud-title" class="widget-title m-t-none text-md"><?php _me("标签云") ?></h2>
            <?php Typecho_Widget::widget('Widget_Metas_Tag_Cloud','ignoreZeroCount=1&limit=150')->to($tags); ?>
            <?php if($tags->have()): ?>
                <?php while ($tags->next()): ?>
                <span id="tag-clould-color"  style="background-color:rgb(<?php echo(rand(0,255)); ?>,<?php echo(rand(0,255)); ?>,
                    <?php echo(rand(0,255)); ?>)">
                    <a  href="<?php $tags->permalink();?>" target="_blank">
                    <?php $tags->name(); ?></a>
                </span>
               <?php endwhile; ?>
        <div style="margin: 71px;">
        </div>
        <?php endif; ?>
</section>
<style>
#tag-clould-color {
    padding: 5px 10px 5px 10px;
    border-radius: 10px;
    color: #FFFFFF;
    margin: 6px 3px 3px 0;
    display: inline-block;
}
</style>
    <!-- footer -->
    <?php $this->need('component/footer.php'); ?>
      <!-- / footer -->
  • 或者我们可以参考:
<?php 
        $db = Typecho_Db::get();
        $options = Typecho_Widget::widget('Widget_Options');
        $tags= $db->fetchAll($db->select()->from('table.metas')
                ->where('table.metas.type = ?', 'tag')
                ->order('table.metas.order', Typecho_Db::SORT_DESC));
        foreach($tags AS $tag) {
            $type = $tag['type'];
            $routeExists = (NULL != Typecho_Router::get($type));
            $tag['pathinfo'] = $routeExists ? Typecho_Router::url($type, $tag) : '#';
            $tag['permalink'] = Typecho_Common::url($tag['pathinfo'], $options->index);
            echo "<a href="".$tag['permalink']."\"&gt;".$tag['name']."</a> ";
        }
    ?>    
  • 这个是调用所有TAG的代码,我们可以单独设置到标签页面然后新创建页面作为模板使用。

版权声明:本文由洛书文章网发布,转载请注明本文链接!

本文内容如若侵权请您联系邮箱:1553396808@qq.com

相关标签:Typecho   教程