Typecho Wiki
每一个作品都值得被记录

Typecho 的 $this 里到底有什么之详情页相关

Typecho维基君Typecho教程 • 1071次浏览 • 发布 2022-04-17 • 更新 2022-04-17
极致加速的V2Ray 助您畅享全球网络 & 搬瓦工VPS最新优惠码

常用代码片段

前前后后也写过几十个 Typecho 主题了,很多时候写到一半还是会去搜索 “Typecho 常用代码片段” 来做参考。但是,对于一些特殊的页面判断逻辑,搜索往往找不到想要的内容,这个时候,明白 Typecho 的 $this 里到底有什么,就非常有帮助了

打印出 $this,挑重点看一下(输出内容太多,不一一展开了)

$this->title //文章标题
$this->permalink //文章链接
$this->slug // 文章 Slug
$this->cid // 文章 cid
$this->created // 创建时间,时间戳形式
$this->modified // 最后修改时间,时间戳形式
$this->status // 文章状态,例如 “publish”
$this->authorId // 文章作者的 ID
$this->categories // 文章所属分类,下文详解
$this->directory // 同样是文章所属的分类,下文详解
$this->category // 文章所属的最近的分类 slug
$this->commentsNum // 文章评论数量
$this->allowComment // 是否允许评论,0 或 1
$this->feedUrl
$this->feedRssUrl
$this->feedAtomUrl

三种输出分类的方式有什么区别 ?

这篇文章的一些基础信息如下

  • 归属于分类 Typecho
  • Typecho 是一个子分类,它的名称是 Typecho,它的 slug 为 typecho,它的 mid 为 6
  • Typecho 的父分类名称是网站&服务器,slug 是 websites,mid 是 1

分别看一下三种分类的输出

$this->category

$this->category 的输出是 'typecho',也就是最近层级分类的 slug

$this->categories

$this->categories 的输出如下,输出了最近层级子分类的全部信息

array ( 
    0 => array ( 
        'mid' => '6', // 分类的 mid
        'name' => 'Typecho', // 分类名称
        'slug' => 'typecho', // 分类 Slug
        'type' => 'category', 
        'description' => NULL, // 分类描述
        'count' => '2', // 分类下文章的数量
        'order' => '1', // 分类排序
        'parent' => '1', // 父分类的 mid
        'cid' => '49', // 当前文章的 cid
        'directory' => array ( // 所有分类,包括子分类和父分类的 slug 数组
            0 => 'websites',
            1 => 'typecho',
        ),
        'permalink' => 'https://paoti.club/category/typecho/', 
        'feedUrl' => 'https://paoti.club/feed/category/typecho/',
        'feedRssUrl' => 'https://paoti.club/feed/rss/category/typecho/',
        'feedAtomUrl' => 'https://paoti.club/feed/atom/category/typecho/', 
    ), 
)

$this->directory

$this->directory 的输出如下,是所有子分类和父分类的 Slug 数组

array ( 
    0 => 'websites',
    1 => 'typecho',
)

用法示例

获取文章最近一个分类的 mid

$this->categories[0]['mid']

当前文章是否归于某个分类 “something”

<?php if(in_array("something",$this->directory)) ?>

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放
添加新评论 »

仅有一条评论 »

  1. Harry Harry

    感谢大佬,受益匪浅