老孙博客 资深网民孙先生

折腾博客 之 Wordpress to Typecho

AI摘要:本文介绍了将WordPress博客转换为Typecho博客的过程。作者遇到了WordPress自动安装插件导致网站无法访问的问题,于是决定转投Typecho。文章详细介绍了转换的步骤,包括安装Typecho、下载插件WordPressToTypecho、移动附件资料、修改数据库中的链接、设置伪静态等。此外,还介绍了一些Typecho插件和主题的使用方法。

前言

起因是wordpress会自动安装一个名为wpcode的插件,每次删除卸载之后仍会自动安装,有一次直接导致网站无法访问,百度不得其解.重装也不起效.
于是弃之.
转投typecho的怀抱.

环境

PHP 8.2
Mysql 5.5

转换

先安装Typecho .
1.下载插件 WordpressToTypecho,配置好数据库的相关设置,
1.png
参考[x-link url="https://docs.typecho.org/import"/]
2.点击转换成功之后,把附件资料从WordPresswp-content/uploads目录下全部移动到Typechousr/uploads目录下,保持目录结构不变。
3.在数据库中执行

update typecho_contents set text=replace(text,'wp-content/uploads','usr/uploads')

4.设置伪静态,保持与wordpress相同的链接结构

使用

插件

1.AAEditor Markdown编辑器功能强大
2.AISummary 使用ChatGPT或者Gemini生成文章摘要.开箱即用.
看到木木老师有分享这个网站,可以使用我的aff注册,谢谢
https://burn.hair/register?aff=a8fr

新用户赠送 2500000 token,约等于 5 USD
邀请用户注册,双方各得 1000000 token,约等于 2 USD

3.Links 友情链接插件
4.ShortLinks 把外链转换成内链
php8.2报错需修改Plugin.php

//$str = str_replace(array("\r\n", "\r", "\n"), "|", $textarea);

// 检查 $textarea 是否为 null,如果是,设为一个空字符串
$textarea = $textarea ?? '';
// 然后你可以对其使用 str_replace
$str = str_replace(array("\r\n", "\r", "\n"), "|", $textarea);

5.SiteMap 网站地图
6.WordsCounter 字数统计
7.cosUploadV5 腾讯COS对象储存

主题

主题使用开源的 Matcha
1.修改
想让首页显示的摘要为AI生成的摘要
matcha/includes/posts.php中的

<div class="post-content" itemprop="articleBody">
<?php Matcha::excerpt($this); ?>
</div>

替换为

<div class="post-content" itemprop="articleBody">
    <?php
    // 判断是否存在自定义字段summary并输出,否则输出自动生成的摘要
    if($this->fields->summary){
        echo $this->fields->summary;
    } else {
        Matcha::excerpt($this);
    }
    ?>
</div>

2.显示页面加载时间
在主题的 Functions.php 中加入以下代码

/**
* 页面加载时间
*/
function timer_start() {
global $timestart;
$mtime = explode( ' ', microtime() );
$timestart = $mtime[1] + $mtime[0];
return true;
}
timer_start();
function timer_stop( $display = 0, $precision = 3 ) {
global $timestart, $timeend;
$mtime = explode( ' ', microtime() );
$timeend = $mtime[1] + $mtime[0];
$timetotal = number_format( $timeend - $timestart, $precision );
$r = $timetotal < 1 ? $timetotal * 1000 . " ms" : $timetotal . " s";
if ( $display ) {
echo $r;
}
return $r;
}

footer.php 合适位置插入

<?php echo timer_stop();?>

或者

<a href="javascript:(0)" id="pagetimes"></a>
<script>
document.getElementById('pagetimes').innerHTML = '<img src="https://img.shields.io/badge/页面加载耗时:-<?php echo timer_stop();?>-green">';
</script>

3.使用memos API增加说说页面
把 page-memos.php放在模板matcha

然后在后台新建独立页面-选择模板
添加字段中自定义
memos= memos地址 默认为https://memos.imsun.org
memostag = 使用的tag 可以选择默认,默认为说说
creatorId = memos的ID,默认为1
memosname = 显示的昵称
memosava = 显示的头像

此处内容,需回复之后可见

4.关闭非中文语系的评论
查找comments.php文件中

<?php if($this->allow('comment')): ?>

替换为

<?php if($this->allow('comment') && stripos($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'zh') > -1): ?>

5.打赏
根据插件Donate提取

<!--打赏  -->
<script type="text/javascript" src="https://blogcdn.loliko.cn/donate/index_wx.js?121"></script>
<link rel="stylesheet" type="text/css" href="https://blogcdn.loliko.cn/donate/style_wx.css?121" />
<div class="donate-panel"> 
  <div id="donate-btn">赏</div> 
  <div id="qrcode-panel" style="display: none;"> 
    <div class="qrcode-body"> 
      <div class="donate-memo"> 
      <span id="donate-close">关闭</span> 
    </div> 
    <div class="donate-qrpay"> 
     <img id="wxqr" src="https://blogcdn.loliko.cn/donate/2in12.png" /> 
    </div> 
     </div> 
   </div> 
</div> 

参考
1.https://docs.typecho.org/import

By 老孙 On
  1. 头像
    @
    不试试静态博客,哈哈
    · MacOS · Chrome
    1. 头像
      @
      去年用了大半年的hexo,感觉还是太不方便了.
      · Windows · Chrome
  2. 头像
    @
    王云子
    你换主题还是挺勤快的
    · MacOS · Chrome
    1. 头像
      @
      让你见笑了
      · Windows · Chrome
    2. 头像
      @
      让你见笑了
      · Windows · Chrome
  3. 头像
    @
    这个不错啊 又想回typecho了
    · Windows · Chrome
    1. 头像
      @
      😁那就回来!!
      · Windows · Chrome
  4. 头像
    @
    因为你中毒了!因为我就是哈哈哈哈,而且不止是wpcode,还有很多类似开了aff的插件,最后我搞了wpdefnc暂时缓解
    · Windows · Chrome
    1. 头像
      @
      我想应该也是,不过没办法解决,干脆直接就转了typecho.😁
      · Windows · Chrome
  5. 头像
    @
    Typecho 确实不错啊,我用的就是,不过现在全转成静态页了
    · Windows · 火狐浏览器
    1. 头像
      @
      如果没有评论之类的话,倒是可以.🤣.我之前有尝试过,话说,如果生成html的话,还不如去玩hexo了.
      · Windows · Chrome
  6. 头像
    @
    typecho确实轻巧
    · Android · Chrome
    1. 头像
      @
      必须是.但是wordpress的后台更丰富,也更容易中招.国内非官的插件和模板一言难尽.
      · Windows · Chrome