TYPECHO WIKI
每一个作品都值得被记录

敬告读者,感谢您对本站的支持,在今年10月份因Racknerd机房硬盘事故,导致本站静态文件全部丢失,包含主题插件网站图片等文件,TypechoWiki经过几次更换站长,凝结了多位站长的心血,如今因为大意只备份了数据库未及时备份静态文件而导致严重数据丢失事故,现已无力回天,经过深思我决定后续可能永久停更该网站,请各位读者寻求其它Typecho周边下载站,另外如果你对本站感兴趣也欢迎报价,我们愿意出售该站联系邮箱[email protected],目前该站的静态文件仅为2019年以前的版本,2019年以后的各位站长精心维护的插件和主题压缩包以及站内图片全部丢失!

Typecho根据文章cid获取文章信息

Typecho维基君Typecho教程 • 477次浏览 • 发布 2024-02-14 • 更新 2024-02-15

早期写Typecho主题时有些文章调用都是用的从数据库直接读取,现在新版Typecho里有些方法被移除了,加上之前的不规范的调用现在已经没法在新版Typecho中使用了,从泽泽那里了解到一个新的文章调用方法,大家可以使用下面代码:

如下代码,其中cid=1就是获取cid为1的文章信息,可以改成你需要获取的文章cid。

<?php $ji=Helper::widgetById('Contents', '1'); ?>
标题:<?php $ji->title(); ?>
链接:<?php $ji->permalink(); ?>
描述:<?php $ji->description(); ?>
文章创建时间:<?php date('Y年m月d日',$ji->created); ?>
文章修改时间:<?php date('Y年m月d日',$ji->modified); ?>

另外这个方法也可以调用分类和tag标签等数据。

参考:https://typecho.work/archives/480.html

如果你不想用上面的方法也可以自己像我一样从content表中直接读取数据自己拼接文章链接:

function getPostUrl($index_url, $cid, $slug, $category, $time){
        $today = date("Y-m-d", $time);
        $todayArr = explode('-', $today);
        $year = $todayArr[0];
        $month = $todayArr[1];
        $day = $todayArr[2];
        $rule = Typecho_Widget::widget('Widget_Options')->routingTable['post']['url'];
        $rule = preg_replace("/\[([_a-z0-9-]+)[^\]]*\]/i", "{\\1}", $rule);
        $part_url = str_replace(array('{cid}', '{slug}', '{category}', '{directory}', '{year}', '{month}', '{day}', '{mid}'),
            array($cid, $slug, $category, '[directory:split:0]',
                $year, $month, $day, 1), $rule);
        $part_url = ltrim($part_url, '/');
        $siteurl = $index_url;
        if (!Typecho_Widget::widget('Widget_Options')->rewrite) {
            $siteurl = $siteurl . 'index.php/';
        }
        $post_url = $siteurl . $part_url;
        return $post_url;
    }
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »