QQ爹の博客 QQ爹の博客

typecho模板常用代码

in Typecho 文章转载请注明来源!

我看几乎每个用typecho的人的博客都有类似的文章,我因为懒,所以一直就没有写,今天特别无聊,就写写吧,争取写的全点。

站点动态标题

<?php $this->archiveTitle(array(
'category'=>_t('分类 %s 下的文章'),
'search'=>_t('包含关键字 %s 的文章'),
'tag' =>_t('标签 %s 下的文章'),
'author'=>_t('%s 的主页')
), '', ' - '); ?>

站点地址,名称与描述

<?php $this->options->siteUrl(); ?>//站点地址
<?php $this->options->title(); ?>//名称
<?php $this->options->description() ?>//描述

index.php文章循环输出

<?php if ($this->have()): ?>//判断文章存在与否
<?php while($this->next()): ?>//开始循环
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>//文章标题和超链接
<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>//作者名称和超链接
<?php $this->date('F j, Y'); ?>//文章发布时间
<?php $this->category(','); ?>//文章分类
<?php $this->commentsNum('%d Comments'); ?>//评论数量
<?php $this->content('Continue Reading...'); ?>//阅读全文more语法截取缩略内容(可改为<?php $this->excerpt(140,'....'); ?>自动截取前140个字符,根据需要也可以改成 <?php $this->summary(); ?新版功能,自动输出内容中第一个块级元素中的内容>)
<?php endwhile; ?>//循环结束
<?php else: ?>暂无与之相关文章<?php endif; ?>//判断结束

翻页代码

<?php $this->pageNav('上一页', '下一页', '5', '……'); ?>//显示多个页码的
<?php $this->pageLink('下一页','next'); ?>
<?php $this->pageLink('上一页'); ?>//只显示上一页下一页

详见:Typecho 自定义分页样式

页码显示

当前页码:<?php if($this->_currentPage>1) echo $this->_currentPage;  else echo 1;?>
总页码:<?php echo   ceil($this->getTotal() / $this->parameter->pageSize); ?>

详见:typecho当前页码和总页码的完美实现方式

文章全文显示

<?php $this->content(); ?>

登陆判断

 <?php if($this->user->hasLogin()):?>
 登陆才可以看到这里的内容
<?php endif;?>

文章作者名称与主页地址

<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>

文章最后编辑时间

<?php echo gmdate('Y-m-d H:i', $this->modified + Typecho_Widget::widget('Widget_Options')->timezone); ?>

当前文章id

<?php $this->cid(); ?>

文章中的上一篇和下一篇

上一篇: <?php $this->thePrev('%s','没有了'); ?>
下一篇: <?php $this->theNext('%s','没有了'); ?>

详见:TE获取上一篇/下一篇的链接

文章标签

<?php $this->tags(', ', true, 'none'); ?>
说明:(', ', true, 'none')第一个单引号间的逗号代表标签与标签的间隔用逗号隔开,true是标签以超链接形式输出,none为该文章没有标签时显示的提示信息。

用户昵称

<?php $this->user->screenName(); ?>

后台地址与登陆地址

<?php $this->options->adminUrl(); ?>//后台地址
<?php $this->options->adminUrl('login.php'); ?>//登陆地址

文章rss和评论rss

<a href="<?php $this->options->feedUrl(); ?>"><?php _e('文章 RSS'); ?></a>
<a href="<?php $this->options->commentsFeedUrl(); ?>"><?php _e('评论 RSS'); ?></a>

搜索代码

<form method="post">
<p><input type="text" name="s" class="text" autofocus /></p>
<p><button type="submit" class="submit"><?php _e('搜索'); ?></button></p></form>

分类描述

<?php echo $this->getDescription(); ?>

随机标签云

<?php $this->widget('Widget_Metas_Tag_Cloud', 'ignoreZeroCount=1&limit=30')->to($tags); ?>
<ul class="tags-list">
<?php while($tags->next()): ?>
<li><a style="color: rgb(<?php echo(rand(0, 255)); ?>, <?php echo(rand(0,255)); ?>, <?php echo(rand(0, 255)); ?>)" href="<?php $tags->permalink(); ?>" title='<?php $tags->name(); ?>'><?php $tags->name(); ?></a></li>
<?php endwhile; ?>
</ul>

标签相关文章

<?php $this->related(5)->to($relatedPosts); ?>
<ul>
<?php while ($relatedPosts->next()): ?>
<li><a href="<?php $relatedPosts->permalink(); ?>" title="<?php $relatedPosts->title(); ?>"><?php $relatedPosts->title(); ?></a></li>
<?php endwhile; ?>
</ul>

调用某分类文章,pageSize是数量,mid是分类号:

<?php $this->widget('Widget_Archive@index', 'pageSize=6&type=category', 'mid=47′)
->parse('<li><a href="{permalink}">{title}</a></li>'); ?>

首行缩进问题,加入css实现

.post-content p{ 
text-indent: 2em; /*em是相对单位,2em即现在一个字大小的两倍*/ 
} 

全部标签列表,按照MID排序

<?php $this->widget('Widget_Metas_Tag_Cloud')
->to($taglist); ?><?php while($taglist->next()): ?>//循环输出
<a href="<?php $taglist->permalink(); ?>" title="<?php $taglist->name(); ?>"><?php $taglist->name(); ?></a>
<?php endwhile; ?>//循环结束

最新文章

<?php $this->widget('Widget_Contents_Post_Recent')->to($post); ?>
<?php while($post->next()): ?>
<a href=”<?php $post->permalink(); ?>” title=”<?php $post->title(); ?>”>
<?php $post->title(25, '…'); ?></a>
<?php endwhile; ?>

判断为当前页的第几篇文章,并单独输出内容

<?php if ($this->sequence == 0): ?>
//需要的插入
<?php endif; ?>

神奇的is语法

<?php if ($this->is('post')) : ?>
    这里就是内容了
<?php endif; ?>
typecho可以使用is语法判断很多东西,比如
$this->is('index');
$this->is('archive');
$this->is('single');
$this->is('page');
$this->is('post');
$this->is('category');
$this->is('tag');
甚至是
$this->is('category', 'default');
$this->is('page', 'start');
$this->is('post', 1);

待续
此篇文章没有总结常用的functions.php代码,敬请期待下篇。

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

版权声明:本文基于《知识共享署名-相同方式共享 3.0 中国大陆许可协议》发布,转载请遵循本协议
文章链接:https://qqdie.com/archives/typecho-code.html (转载时请注明本文出处及文章链接)

代码
发表新评论
已有 19 条评论
  1. 禅猫
    禅猫Windows 10谷歌浏览器
    回复

    你好博主,请教个问题
    环境nginx+lnmp 新建typecho!建网站的时候就开启了 www转非www的301当安装好typecho后 进行测试发现带www的域名打开后转向到非www域名,但是转到xxx.com//index.php 是错误页面。。
    求解,静态规则什么的检测没问题! 后台开了永久链接("▔□▔)/

    1. 禅猫
      禅猫Windows 10谷歌浏览器
      回复

      @禅猫 。。。。博主,实际上我是发错地方了。。。SORRY龴ↀ◡ↀ龴

    2. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @禅猫 额,这些我也不懂,vps我都没玩过

  2. 轻梦
    轻梦Windows 10谷歌浏览器
    回复

    >///<怎么自定义颜表情

    1. 轻梦
      轻梦Windows 10谷歌浏览器
      回复

      @轻梦

    2. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @轻梦 不知道为啥!明天我在用电脑看看!现在只有手机能上网

    3. 轻梦
      轻梦Windows 10谷歌浏览器
      回复

      @轻梦 是点不动

    4. 轻梦
      轻梦Windows 10谷歌浏览器
      回复

      @轻梦 https://bizhi.chainwon.com/?pn=19 电脑点不了

    5. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @轻梦 应该都可以点啊!手机上因为没有自适应的关系!确实有些点不到

    6. 轻梦
      轻梦Windows 10谷歌浏览器
      回复

      @轻梦 有些表情点不了

    7. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @轻梦 修改多说js

  3. 惠阳凯凯
    惠阳凯凯Windows 10谷歌浏览器
    回复

    function themeInit($archive){ Helper::options()->commentsMaxNestingLevels = 999;}

    1. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @惠阳凯凯 可以哈>///<

    2. 惠阳凯凯
      惠阳凯凯Windows 10谷歌浏览器
      回复

      @惠阳凯凯 谢谢,博主交个朋友好嘛 嘻嘻

    3. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @惠阳凯凯 我现在用了类似的这个 $archive->parameter->pageSize = 10000;在某个页面 让文章列表全部输出

  4. 666
    666Windows 10谷歌浏览器
    回复

    6666,但是不知道这代码该在哪用?

    1. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @666 在模板中使用

  5. Tsez
    TsezWindows 10谷歌浏览器
    回复

    博客快成为typecho wiki了2333

    1. Jrotty
      JrottyWindows 10谷歌浏览器
      回复

      @Tsez 1/3的内容和typecho有关2333

PREVIOUS NEXT
雷姆
拉姆
音乐加载中...
0:00