最后更新于2019年02月17日; 如遇到问题,请留言及时通知站长; 欢迎加入 三生三世,讨论各种问题!

说明

本教程属于系列教程,用于讲解Typecho主题编写的相关教程。本篇教程用于讲解function.php文件的编写具体内容。全部文档教程来源于泽泽,官网是https://qqdie.com/。目前,我还没写过主题。不过魔改了大概四份主题,所以对这些也算懂一点吧。

functions.php

function themeConfig($form) 内的代码是模板设置功能,一般我们添加各种功能就加到这里,比如本站的评论等级、浏览器信息、访客定位、算术验证码等等功能性函数。

logo设置

$logoUrl = new Typecho_Widget_Helper_Form_Element_Text('logoUrl', NULL, NULL, _t('站点 LOGO 地址'), _t('在这里填入一个图片 URL 地址, 以在网站标题前加上一个 LOGO'));
$form->addInput($logoUrl);

这行代码就是再模板设置处添加一个logo设置,可以添加一个图片地址作为logo,添加好了通过如下代码即可输出这个图片

<!--判断logo已被设置-->
<?php if ($this->options->logoUrl): ?>
<!--给logo图片加上本站超链接-->
<a id="logo" href="<?php $this->options->siteUrl(); ?>">
<!--显示logo-->
<img src="<?php $this->options->logoUrl() ?>" alt="<?php $this->options->title() ?>" />
</a>
<?php endif; ?>

此处对应header.php中的logo显示。

显示开关

$sidebarBlock = new Typecho_Widget_Helper_Form_Element_Checkbox('sidebarBlock', 
array('ShowRecentPosts' => _t('显示最新文章'),
'ShowRecentComments' => _t('显示最近回复'),
'ShowCategory' => _t('显示分类'),
'ShowArchive' => _t('显示归档'),
'ShowOther' => _t('显示其它杂项')),
 array('ShowRecentPosts', 'ShowRecentComments', 'ShowCategory', 'ShowArchive', 'ShowOther'), _t('侧边栏显示'));  
    $form->addInput($sidebarBlock->multiMode());

是一些开关,这里哪ShowCategory举例,如果勾选他

<?php if (!empty($this->options->sidebarBlock) && in_array('ShowCategory', $this->options->sidebarBlock)): ?>
勾选了就会显示这里的文字
<?php endif; ?>

这里对应的是sidebar.php中的最新文章,最新评论,文章分类,归档等显示开关。

其他说明

参考以上代码,照葫芦画瓢,可以增加自己需要的模板设置。

本文来源:https://qqdie.com/,取自QQ群。