Ryan

分享几个Typecho中常用的调用函数
最近在折腾Typecho主题,博主也不太懂PHP,所以只好收集一堆Typecho的调用函数,这里记录一下,以便日后...
扫描右侧二维码阅读全文
23
2014/01

分享几个Typecho中常用的调用函数

最近在折腾Typecho主题,博主也不太懂PHP,所以只好收集一堆Typecho的调用函数,这里记录一下,以便日后翻查,当然,如果能帮助到别人就更好了。
想看看博主的最新研究成果?这里:32mb.cn
话说Typecho的函数类似于js的调用方法,玩过js的人一看就明白。
这篇文章会一直更新,持续到博主不再折腾Typecho。

下面是相关的函数。

1、站点名称

<?php $this->options->title(); ?>

2、站点网址

<?php $this->options ->siteUrl(); ?>

3、完整路径标题如分享几个Typecho中常用的调用函数| 苹果树下

<?php $this->archiveTitle('&raquo;', '<span class="string">', ' |'); ?><?php $this ->options->title(); ?>

4、站点说明

<?php $this->options->description() ?>

5、模板文件夹地址

<?php $this->options->themeUrl(); ?>

6、导入模板文件夹内的php文件

<?php $this< /span>->need('.php'); ?>

7、文章或者页面的作者

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

8、作者头像

<?php $this->author->gravatar('40'); ?>

此处输出的完整的img标签,40是头像的宽和高。
9、该文作者全部文章列表链接

<?php $this->author->permalink(); ?>

10、该文作者个人主页链接

<?php $this->author->url(); ?>

11 、该文作者的邮箱地址

<?php $this->author->mail(); ?>

12、上一篇与下一篇调用代码

<?php $this->thePrev(); ?> <?php $this->theNext(); ?> 

13、判断是否为首页,输出相关内容

<?php if ($this->is(‘index’)): ?>
//首页输出内容
<?php else: ?>
//不是首页输出内容
<?php endif; ?>

14、文章或页面,评论数目

<?php $this->commentsNum('No Comments', '1 Comment' , '%d Comments'); ?>

15、截取部份文章(首页每篇文章显示摘要),350是字数

<?php $this->excerpt(350, ‘.. .’); ?>

16、增强版文章截取

<?php
preg_match_all('/<p>.*?<\/p>/im', $this->content, $m);
if(count($m[0])>0){
    if(strlen($m[0][0])<200){
        $result = $m[0][0].$m[0][1];
    } else {
        $result = $m[0][0];
    }
    $result =  preg_replace("/<[img|IMG].*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/","",$result); #注释这一行可让摘要中带图片
    echo $result;
} else{
    $this->excerpt(300, '...');
}
?>

17、调用自定义字段(官方文档坑爹,竟然没有,博主自己摸索出来的)

<?php echo $this->fields->fieldName; ?>

18、手气不错:随机浏览文章
参考:https://blog.iplayloli.com/redirect-to-random-post.html
19、在分类页面获取当前分类mid

<?php echo $this->_pageRow[mid]; ?>

20、常用统计

<?php Typecho_Widget::widget('Widget_Stat')->to($stat); ?>
文章总数:<?php $stat->publishedPostsNum() ?>篇
分类总数:<?php $stat->categoriesNum() ?>个
评论总数:<?php $stat->publishedCommentsNum() ?>条
页面总数:<?php $stat->publishedPagesNum() ?>个
当前作者的文章总数:<?php $stat->myPublishedPostsNum() ?>篇

21.Typecho输出文章附件内所有图片的函数

//获取附件图片
function getAttachImg($cid) {
    $db = Typecho_Db::get();
    $rs = $db->fetchAll($db->select('table.contents.text')
            ->from('table.contents')
            ->where('table.contents.parent=?', $cid)
            ->order('table.contents.cid', Typecho_Db::SORT_ASC));
    $attachPath = array();
    foreach($rs as $attach) {
        $attach = unserialize($attach['text']);
        if($attach['mime'] == 'image/jpeg') {
            $attachPath[] = array($attach['name'], $attach['path']);
        }
    }
    return $attachPath;
}

22.获取指定目录的 Widget_Archive 对象

function listPostsByMid($mid, $pageSize = __PAGE_SIZE__)
{
    return Typecho_Widget::widget('Widget_Archive@index-' . $mid, 'pageSize=' . $pageSize . '&type=category', 'mid=' . $mid);
}
搬瓦工年付$187机房套餐补货了,电信联通优化,512M内存/500G流量/1G带宽,建站稳定,优惠码:BWH1ZBPVK,【点击购买】!
搬瓦工年付$28CN2高速线路,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快,建站稳定,优惠码同上,【点击购买】!
Last modification:May 22nd, 2019 at 07:16 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

11 comments

  1. Andrew

    挺实用的

  2. 小菜

    学习下,同样也不太懂 typecho

  3. ytf4425

    换主题了啊

  4. 香菇肥牛

    新年快乐!typecho相比wordpress简洁太多了~

    1. Ryan
      @香菇肥牛

      就是啊,同乐

  5. 祥磊部落

    有点喜欢Typechol 

    1. Ryan
      @祥磊部落

      我想废掉wordpress转typecho了

      1. 祥磊部落
        @Ryan

        我也是这样想的 wordpress太臃肿了

  6. pang

    不错 typecho

  7. Dzing

    还不错吗

  8. tennfy

    他这个类在哪里定义的