Typecho 判断调用某个独立页面模板的页面链接

为模板适配友情链接插件时,首页除了显示首页友链外,还需要显示更多友链的按钮,点击后进入友情链接 的内页,那么就会出现两个问题,一个是怎么获取这个链接因为这个链接其实并不固定,用户可以随便设置,二是用户如果没创建链接呢。

方案

于是乎就有了如下函数,独立页面的模板是link.php,我们针对它来写函数即可。

function linkpage() {
    $db = Typecho_Db::get();
    $result = $db->fetchRow($db->select()->from('table.contents')->where('type=?', 'page')->where('status=?', 'publish')->where('template=?', 'link.php')->limit(1));
    if($result) {
        $f=Helper::widgetById('Contents',$result['cid']);
        $permalink = $f->permalink;
        return$permalink;
    } else {
        returnfalse;
    }
}

上面的函数就可以判断link.php是否存存,存在的话就返回这个链接。

调用方法

<?php if(linkpage()): ?><a href="<?php echo linkpage(); ?>" class="text-sm text-sky-500" title="更多链接">更多链接</a><?php endif; ?>
请登录后发表评论

    没有回复内容