MENU

Typecho教程 - 获取模板自定义字段值

• February 12, 2021 • 教程

前言

在Typecho很多模板都要通过设置自定义字段来实现文章缩略图或者其他功能,但是我们在二次开发或者开发插件时,并没有一个接口来实现获取自定义字段,所以便有了我今天的想法。

代码

public function getCustom($cid, $key){
    $db = Typecho_Db::get();
    $rows = $db->fetchAll($db->select('table.fields.str_value')->from('table.fields')
        ->where('table.fields.cid = ?', $cid)
        ->where('table.fields.name = ?', $key)
    );
    // 如果有多个值则存入数组
    foreach ($rows as $row) {
        $img = $row['str_value'];
        if (!empty($img)) {
            $values[] = $img;
        }
    }
    return $values;
}

使用

使用时只要使用$this->getCustom(mix $cid, mix $key)就可以了,两个参数分别是文章cid和自定义字段名,函数会把自定义内容返回成数组。

Last Modified: February 18, 2021
Archives QR Code
QR Code for this page
Tipping QR Code
Leave a Comment

4 Comments
  1. xxxx

    大佬,想问下,在后台用自带的自定义字段输入'1,2,3,4,5,6'这种形式的字符串,怎么在前端以逗号为分隔符显示出来,内容非常多,要自定义的话得60多个内容@(乖)

  2. 分享个更绝的方法@(你懂的) https://zezeshe.com/archives/typecho-gets-field-value.html

  3. 代码有处错误,已经修正

    1. @某个路过的小白其实是错了两处