前言
在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和自定义字段名,函数会把自定义内容返回成数组。
如无特殊说明《Typecho教程 - 获取模板自定义字段值》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-178.html
大佬,想问下,在后台用自带的自定义字段输入'1,2,3,4,5,6'这种形式的字符串,怎么在前端以逗号为分隔符显示出来,内容非常多,要自定义的话得60多个内容@(乖)
分享个更绝的方法@(你懂的) https://zezeshe.com/archives/typecho-gets-field-value.html
代码有处错误,已经修正
其实是错了两处