如何通过修改 TYPECHO 主题文件来实现网站随机文章列表功能?

TYPECHO 随机文章调用的实现可以有三种方法,第一种方法就是最简单的,使用插件,可以参考:Typecho 随机文章列表插件RandomArticleList ;第二种方法就是上篇文章所说的,如何为 Typecho 网站实现随机文章列表? 通过更改TYPECHO系统源码实现随机文章的调用;第三种方法就是本篇文章要讲述的方法,通过修改 TYPECHO 的主题文件的 function.php 文件来实现调用网站的随机文章列表。操作方法:1、把下面的代码添加至主题的 …

如何为 Typecho 网站实现随机文章列表?

该文主要用到的方法是修改 TYPECHO 源码,达到实现随机文章列表的功能,并且通过可以实现某个具体分类下的随机文章调用,但不建议使用该方法,因为一旦系统升级,可能就会收到影响,建议大家参考另外一篇文章,实现网站随机文章调用 : 如何通过修改 TYPECHO 主题文件来实现网站随机文章列表功能? ,另外还有一个方法就是直接使用插件实现,可以参考:Typecho 随机文章列表插件RandomArticleList 。在var/Widget/Content …

如何修改 Typecho 的后台管理地址

要修改 Typecho 的后台管理地址,由默认的/admin,改为你不想让别人知道的地址,需要修改两个地方:修改 admin 文件夹的名字,假定修改为 myadmin。打开根目录下的 config.inc.php文件,找到/** 后台路径(相对路径) */ define('TYPECHO_ADMIN_DIR', '/admin/'); 将 /admin/ 修改为之前重命名的名字/myadmin/。然后你就可以通过 /myadmin 来访问你的后台了。另外,将默认模板 default 的sidebar.php涉及到后台管理地址的两 …

Linode SSH(Could not connect to ‘IP’ (port XXX): Connection failed)无法登录的解决办法

防火墙的终极形态是白名单,只允许开放白名单的端口通行,比如说22端口,你要是改成别的端口,是管理不了自己的服务器的。大鸟说的这些你懂的。但是你要不懂,也没办法。 大鸟有一个网站放在Lionde上面,属于企业网站一类的。之前用SSH软件连接都没问题,最近发现SSH无法正常连接了。总提示Could not connect to ‘IP’ (port XXX): Connection failed。但是网站可以正常访问。于是便宜vps主机搜索了一下找到了Linode的SSH …

百度“闪电算法”的官方解读

相信每个站长都会去关注百度站长平台,百度于11月改版为搜索资源平台,相关的改版公告及升级亮点我们昨天解读了,没看到的可以点击网址去看看:百度站长平台改版公告及升级亮点 今天聊聊百度最新的“闪电算法”究竟是怎么一回事。 10月初,“闪电算法”上线,移动搜索页面首屏加载时间将影响搜索排名。移动网页首屏在2秒之内完成打开的,在移动搜索下将获得提升页面评价优待,获得流量倾斜;同时,在移动搜索页面首屏加 …

Typecho 全站启用HTTPS配置教程

全站启用HTTPS让您的网站更安全,随着用户和搜索引擎的不断重视,很多小伙伴们已经加入HTTPS的阵营,分享下Typecho设置HTTPS的过程。申请SSL证书如果您还没有域名SSL证书,可以参考教程:沃通免费SSL证书申请和Let’s Encrypt免费SSL证书申请免费的SSL证书。Typecho设置登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名是必须的。编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置, …

Typecho不兼容PHP 7的解决办法

Typecho提供mysql或pdo两种方式连接数据库,若您在安装的时候选择mysql方式连接,很有可能升级PHP 7后Typecho就打不开了,原因是PHP 7已经放弃mysql方法,需要使用mysqli或pdo方法。解决办法修改配置文件config.inc.php,将:$db = new Typecho_Db('Mysql', 'typecho_'); 注释或者替换为:$db = new Typecho_Db('Pdo_Mysql', 'typecho_');

Typecho默认主题导航栏菜单显示所有分类目录

Typecho默认主题导航栏菜单仅显示了首页和关于页面,如果我们添加了更多分类目录是不会显示出来的,需要修改主题目录下的header.php文件。将55-59行使用如下代码替换:<a<?php if($this->is('index')): ?> class="current"<?php endif; ?> href="<?php $this->options->siteUrl(); ?>"><?php _e('首页'); ?></a> <?php $this->widget('Widget_Me …

Typecho文章内链接新窗口打开并添加nofollow

默认情况Typecho文章中如果有添加链接,那么是从当前窗口跳转的,并且外链没有添加nofollow标签,不利于SEO,Typecho文章内链接新窗口并添加nofollow标签如下。找到/var/CommonMark/HtmlRenderer.php这个文件,在105行,也就是$attrs['href'] = $this->escape($inline->getAttribute('destination'), true);代码之后添加如下两行代码:$attrs['target'] = $this->escape(_blank, true); $attrs['rel'] = $this-& …

Typecho首页摘要字数限制

默认情况下Typecho首页会全文输出所有文章内容,如果文章篇幅较长,不利于排版和阅读,通常需要对首页摘要字数进行限制,找到主题目录下面的index.php文件<!--more-->,找到如下代码:<?php $this->content('- 阅读剩余部分 -'); ?> 将代码修改为如下,数字200就是摘要字数,可根据实际情况修改。<?php $this->excerpt(200, '...');//200就是摘要的字数 ?> 另一个方法在文章所需要的地方加入more …

Typecho 设置父分类和子分类不同样式的方法

<?php $this->widget('Widget_Metas_Category_List')->to($categorys); ?> <?php while($categorys->next()): ?> <?php if ($categorys->levels === 0): ?> <?php $children = $categorys->getAllChildren($categorys->mid); ?> <?php if (empty($children)) { ?> <li <?php if($this->is('category', $categorys->slug)): ?> class="active"& …

Typecho 获取文章第一张图片做缩略图

编写 functions.php 中的代码(给出的图片地址是绝对地址,如果想要相对地址可以使用php操作字符串进行截断。)function img_postthumb($cid) { $db = Typecho_Db::get(); $rs = $db->fetchRow($db->select('table.contents.text') ->from('table.contents') ->where('table.contents.cid=?', $cid) ->order('table.contents.cid', Typecho_Db::SORT_ASC) ->limit(1)); preg_match_all("/\<img …

如何实现用一个 Typecho 程序建多个网站

首先绑定两个域名(以下称 A域名 和 B域名)到空间目录上。接着把typecho上传到空间里,打开 A域名 时,typecho就会自动检测并开始安装,安装是请修改数据库表前缀为 A_ ,安装过程非常顺利。安装完后,把程序自动生成的文件config.inc.php下载下来备份,并删除服务器上的config.inc.php。然后,用 B域名 打开网站,此时,typecho会再度自动检测并开始安装,此时请修改数据库表前缀为 B_ ,安装过程也一样非常的顺利。再 …

Typecho 主题评论模块个性化的实现

早就想研究下这部份,一直拖到现在。 主题设计时,评论模块希望设计得独特,富有个性,就需要修改评论结构,而 typecho 默认模板中提供给我们的只有一行简单代码:<?php $comments->listComments(); ?> 把结构都写死了。当然,其实官方的博客中有一篇文章已经声明可以自定义评论结构,只是不太详细,有点摸不着头脑~于是今天抽空折腾了下,总的来说是 在 comments.php 开头部份加入如下方法即可实现自定义。< …

Typecho 自定义列表分页的样式

增加更加多样的分页输出样式选项,包括wrapTag 外层包裹标签名,默认olwrapClass 外层包裹类名itemTag 内层标签名, 默认litextTag 直接输出文字的标签名currentClass 当前聚焦类名prevClass 上一页类名nextClass 下一页类名方法一:<?php $this->pageNav('«', '»', 3, '...', array('wrapTag' => 'ol', 'wrapClass' => 'page-navigator', 'itemTag' => 'li', 'textTag' => 'span', 'currentClass' =&g …

Typecho 判断最新帖子显示图标

例如24小时内发布的贴,需要一个标志来完成。这里是用判断输入特殊字符,再用CSS判断完成的。/** * 判断时间区间 * * 使用方法 if(timeZone($this->date->timeStamp)) echo 'ok'; */ function timeZone($from){ $now = new Typecho_Date(Typecho_Date::gmtTime()); return $now->timeStamp - $from < 24*60*60 ? true : false; } 以上代码,加入到 functions.php 中,然后,在 index.php 中使用如下调用:&lt …

为你的 Typecho 主题设置自定义不同配色模板方案

原创为兜兜,后台可自定义一个选项,自定义CSS本色:function themeConfig($form) { $css = new Typecho_Widget_Helper_Form_Element_Radio('css', array( 'gray' => _t('灰色系'), 'green' => _t('绿色系') ), 'gray', _t('配色选择')); $form->addInput($css->multiMode()); } 调用函数$this->options->css

Typecho 统计文章总数、分类总数、评论总数、页面总数

做模板有些同学可能需要在侧边栏统计一下博客的文章总数,分类总数什么的。所以就要用到以下代码:<?php Typecho_Widget::widget('Widget_Stat')->to($stat); ?> <li>文章总数:<?php $stat->publishedPostsNum() ?>篇</li> <li>分类总数:<?php $stat->categoriesNum() ?>个</li> <li>评论总数:<?php $stat->publishedCommentsNum() ?>条</li&gt …

让 typecho 可以调文章中的图 幻灯片代码 焦点图轮播效果

首先,让typecho可以调文章中的第一张图或者附件图片function img_postthumb($cid) { $db = Typecho_Db::get(); $rs = $db->fetchRow($db->select('table.contents.text') ->from('table.contents') ->where('table.contents.cid=?', $cid) ->order('table.contents.cid', Typecho_Db::SORT_ASC) ->limit(1)); preg_match_all("/\<img.*?src\=\"(.*?)\"[^>]*>/i", $rs['t …

Typecho 的伪静态规则以及301跳转设置

一、Apache 环境配置<IfModule mod_rewrite.c> RewriteEngine On # 下面是在根目录,文件夹要修改路径,如 /typecho/,同时 RewriteRule 也要跟着变 RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> 外加一个顶级域名和二级域名的跳转带 www 的跳转到不带的RewriteCond %{HTTP_HOST} ^www.typecho.tips RewriteRu …

为 Typecho 主题添加人性化评论时间 多少秒 多少天发帖代码

评论时间显示多少秒,多少天,多少时发帖代码。<?php function timesince($older_date,$comment_date = false) { $chunks = array( array(86400 , '天'), array(3600 , '小时'), array(60 , '分'), array(1 , '秒'), ); $newer_date = time(); $since = abs($newer_date - $older_date); if($since < 2592000){ for ($i = 0, $j = count($chunks); $i < $j; $i++){ $seconds = $chunks[$i][0]; $name = $chunks[ …

typecho 主题模板开发必备函数说明

模板制作快速入门Typecho 模板的制作并非难事,只要你写好了HTML和CSS,嵌套模板就非常简单了,你无需了解标签的内部结构,你只要会使用,模板就能迅速完成。这篇文章只简单的介绍了常用标签的使用方法,希望能带你进入模板的世界。^_^本篇文章以Typecho的默认模板为例,您可以打开默认模板default边看边学习。该模板所在的路径为 /usr/themes/default进入该目录后,我们可以看到有许多文件,别犯愁,我们将在下文一一介 …

关于 typecho 主题模板的文件结构说明

文件名 作用 必须style.css 主题样式文件 否screenshot.png 主题缩略图 否index.php 首页以及说明文件 是404.php 404页面文件 否archive.php 通用(分类、搜索、标签、作者)页面文件 否category.php 分类页面文件 否search.php 搜索页面文件 否tag.php 标签页面文件 否author.php 作者页面文件 否comments.php 评论页面文件 否footer.php 底部页面文件 否functions.php 主题函数文件 否header.php 头部页面文件 否page.p …