普通视图

一款简洁、美观的 WordPress 友情链接插件

2025年8月5日 10:38

近日,我开发了一款全新 WordPress 友情链接插件。该插件简洁、美观、易于使用。

可以访问以下链接查看实际展示效果:友情链接展示页

插件特性

  • 响应式布局:在桌面端默认每行展示 3 个链接,并能根据屏幕尺寸自动调整,在平板和手机上也能完美呈现。
  • 信息展示丰富:每个链接均会展示对方网站的 Favicon(头像)和博客名称,一目了然。
  • 灵活的排序方式:支持固定排序和随机排序两种模式。设置为随机排序后,每次刷新页面都会带来全新的链接顺序。
  • 智能头像获取:自动通过 favicon.im 服务抓取网站头像。同时支持手动指定头像链接,或在留空时显示默认头像。
  • 简洁的管理后台:后台管理界面操作直观,美观大方。
  • 纯净无残留:启用时自动创建专属数据表,禁用时彻底删除,不在数据库留下任何冗余数据。
  • 数据轻松迁移:内置导入/导出功能,方便备份和恢复友链数据。

使用方法

1. 下载与安装

可从以下链接下载该插件:点此下载

下载 .zip 压缩包后,在 WordPress 后台的“插件”—>“安装插件”页面上传并启用。

2. 插入短代码 (Shortcode)

在任意页面或文章中插入短代码即可展示友情链接。

如何在编辑器中插入?

  • Gutenberg (区块编辑器):添加“自定义 HTML”区块,将短代码粘贴进去即可。
  • Classic Editor (经典编辑器):直接在文本编辑模式下粘贴短代码。

未来计划

计划将此插件移植到 Typecho 平台。

致谢

在插件的开发过程中,AI 提供了巨大帮助,特此感谢科技的力量。

经过两天的密集调试,目前插件运行稳定,暂未发现明显 Bug。欢迎提出宝贵的意见和建议,或是一同参与改进,让它在保持简洁、美观、易于使用的同时可以变得更好。

制作了款 wordpress 主题 Cooooo

作者 夜枫's
2025年5月24日 23:42

上一个博客主题《Memorable-lit》,缝缝补补也将就用了六七年,况且,博客也是将近一年多没有更新,好多篇博文静静地躺在了草稿箱里……

这次呢,想着借机写一款主题,形式依然是我喜欢单栏。由于很久不写代码,看到代码很生疏了,外加当前前端技术迭代太快了,好多HTML、css3的新特性和js的ES5、ES6,我处于完全看不懂的状态,这个主题的由来是我平时浏览网站的时候,看到别人好看的风格样式,就扒拉扒拉下来了,有的懒得动脑子,就直接参考和借鉴过来。整个主题是使用字节推出的 Trae CN 编辑器,本地电脑搭建环境,外加用上Trae 的 Ai 来写代码,效率是离谱的高,在这个主题绝大部分代码是使用 Ai 的写的。开发效率是有点高,尤其是在解决一些很复杂的逻辑时,你只需告诉 Ai 程序的基本逻辑,它便生成可用的代码,在前端库的选择, 当然我选择的是 jQuery,其实前端JS可以用原生来实现,但是用着jQuery很顺手,代码简单,一行代码就能搞定的,没必要绕弯。别人都在用高级的Hexo、Hugo 等高级,而我依然选择的是 wordpress,可能懒得折腾、懒得写作时用Markdown,也可能是保持了习惯和旧状态,新特性对我没有吸引力吧。

年初一段时间博客感觉被黑了,博客的插件里出现了一些奇奇怪怪的代码,感觉是木马后门之类的代码,之前博客的版本为4.8,也是年久失修的状态,可能存在能利用的漏洞,导致的博客沦陷,当前,wordpress 最新的版本为 6.8.1,借机新主题就在最新的版本上测试开发,前前后后感觉写了近两个月,部分代码也是参考了大佬们的代码,修修补补,也算是正常跑了起来。

当前博客跑在Nginx + Mysql + php 8.1 下,对于 2 核2G 的云主机来说够用,甚至剩余的算力可以跑跑 docker 里的小应用,整体相对比较顺畅。

这次换主题也顺便修修花、剪剪草和施施肥,对于改造博客我也是下了很大的决心,好在一点点雏形出现到基本能用的状态,也是可喜可贺。当然主题若有问题,欢迎评论区提出,当然这个主题足够完善并且很有必要的话,可能也会开源哦。

博客我加个视频播放器、音乐播放器和全景播放器,想着给博友们分享一些我外出拍摄的一些照片和内容吧。

WordPress的文章别名是中文英文拼音,怎么改为文章ID

作者 老灵
2025年5月23日 11:34

WordPress的文章别名是中文英文拼音,怎么改为文章ID

很多人在搭建WordPress的时候,文章固定结构包含了%postname%,而不是%post_id%,后面想改又怕麻烦。其实做好规范,改动也没什么影响的。

在 WordPress 中,如果你想将文章的别名(slug/permalink)从中文改为数字 ID,可以通过以下几种方式实现。

下面是具体操作方法:

✅ 方法一:修改固定链接结构(推荐)

登录 WordPress 后台。

  1. 进入菜单:设置 > 固定链接(Settings > Permalinks)。
  2. 选择自定义结构(Custom Structure)。
  3. 输入以下内容:/archives/%post_id%/
  4. 或简单地使用:/%post_id%/
  5. 保存更改。

这样你的网站文章链接就会变成:https://example.com/123/

♻️方法二:批量修改已有文章的别名(slug)

上述方法修改的是新生成的链接结构,但如果你之前的文章已经使用了中文别名,在固定链接中可能依然显示中文。可以通过插件或代码批量将旧文章的 slug 改为数字 ID。

?方法一:使用 SQL 批量替换(建议备份)

你可以进入数据库(通过 phpMyAdmin 或类似工具),执行如下 SQL 语句:

UPDATE wp_posts SET post_name = ID WHERE post_type = ‘post’ AND post_status = ‘publish’;

注意:wp_posts 表名中的 wp_ 前缀需根据你实际的表前缀调整。

?方法二:手动更改为 ID(适合文章较少)

查看该文章的 ID(可以在浏览器地址栏中看到,比如 post=123)。

在「别名」字段中,将现有内容手动改为这个数字,如:123,点击 更新 即可。

?方法三:通过函数自动设置 slug 为 ID(适合文章较多)

你可以将以下代码添加到你主题的 functions.php 文件中(或使用 Code Snippets 插件添加),自动在文章发布时将别名设置为文章 ID:

https://github.com/lingchenzi/blog/blob/main/wordpress/change_post_slug_to_id


//修改文章别名为文章id
function change_post_slug_to_id($post_id) {
$post = get_post($post_id);
if ($post->post_type == 'post' && $post->post_status == 'publish') {
$new_slug = $post_id;
remove_action('save_post', 'change_post_slug_to_id'); // 避免死循环
wp_update_post(array(
'ID' => $post_id,
'post_name' => $new_slug,
));
add_action('save_post', 'change_post_slug_to_id');
}
}
add_action('save_post', 'change_post_slug_to_id');

? 注意事项

  • 如果你的网站已经上线,改动固定链接可能会影响 SEO 和已有链接。建议设置 301 重定向

  • 可以使用插件如 Redirection 来管理旧链接的跳转。

WordPress网站地图在Google Search Console中没有显示具体数据

作者 老灵
2025年4月15日 10:41

最近我将一个WordPress网站的网站地图提交给了Google Search Console,但是过了一周后,发现 Google Search Console 中没有显示具体数据。搜了下Microsoft Copilot,可能有几个原因导致这个问题。

WordPress网站地图在Google Search Console中没有显示具体数据

Google Search Console 中没有显示网站地图的具体数据,以下是一些可能的解决方案:

  1. 检查网站地图的提交状态
    • 确保你已经正确提交了 文件,并且 Google Search Console 没有返回错误信息。
    • 你可以在 “站点地图” 部分查看提交状态。
  2. 确认网站地图的格式是否正确
    • 网站地图应该符合 XML 规范,并且可以通过浏览器访问,例如 https://yourdomain.com/sitemap.xml
    • 你可以使用 Google 的站点地图测试工具 来检查是否有格式错误。
  3. 检查 文件
    • 确保你的 robots.txt 文件没有阻止 Google 抓取网站地图。
    • 你可以在 https://yourdomain.com/robots.txt 访问并检查是否有类似 Disallow: /sitemap.xml 的规则。
  4. 查看 Googlebot 是否能访问你的网站
    • 你可以使用 网址检查工具 来测试 Google 是否能够抓取你的网站地图。
    • 如果返回 404 错误无法访问,可能是服务器配置问题。
  5. 等待 Google 处理
    • Google 可能需要一些时间来处理你的网站地图,尤其是如果你的站点是新站点或内容更新频繁。
    • 你可以尝试 重新提交 网站地图,并等待几天查看是否有数据更新。

梯子机场推荐:最低年付99元,100G流量/月

如何在本地调试WordPress时忽略对wordpress.org的网络连接请求

作者 大致
2025年3月13日 10:43

本地调试WordPress时,为了保证代码的正确性,插件和主题作者往往会打开wp-config.php里的WP_DEBUG开关。如果您不知道这个开关,就不要往下看了。

define('WP_DEBUG', true);

这样PHP运行时的错误和警告就会以醒目的字体直接打印到网页上。
20250313_WP_local_debug_warning

但是这样会带来一个程序员的日经问题:是我的BUG我改,不是我的BUG莫挨老子!
按说WP这种成熟的产品是不会让用户看到警告和错误的。但是,由于众所周知的原因,WP内核、主题和插件升级所需要的WordPress的官网wordpress.org时灵时不灵,连不上的时候就会显示大面积的警告信息。
安装完成以后,后台这种需要连接到wordpress.org的地方大抵有4种:core update、theme update、 plugin update和translation api,出现在后台Dashboard、 Plugin、 Theme、 和Settings页面。其中Dashboard会调用前三种Update,Settings四种都会调用。
这些信息不仅是影响对于出错代码的判断(比如图中提示的“Cannot modify header information”,其实根本就不是本地header的问题),还会直接影响页面元素的渲染和操作。
那就必须要干掉它!

再次更新,

define('WP_HTTP_BLOCK_EXTERNAL', true);

这个宏屁用没用,还是得用我下面的方法。

开整。

//下面的action钩子调用的早,所以在加载主题或插件的时候就要直接remove掉,否则没机会了。
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
    remove_action('admin_init', '_maybe_update_core');
    remove_action('admin_init', '_maybe_update_plugins');
    remove_action('admin_init', '_maybe_update_themes');
    remove_action('init', 'wp_schedule_update_checks');

    //translations_api默认会返回false,之后会访问wordpress.org,返回空数组之后就不访问了。
    //Since 4.0.0
    add_filter('translations_api', '__return_empty_array');
}

//调试者作为admin,默认是有各种update权限的。这里令各种内部调用user_has_cap询问4种权限的结果强行置为false。
function _debug_ignore_wp_request ($allcaps, $caps, $args){
    $server_caps = array('install_languages', 'update_themes', 'update_plugins', 'update_core', 'install_themes', 'install_plugins');
    foreach ($caps as $cap) {
        if ( in_array($cap, $server_caps)) {
            $allcaps[$cap] = false;
        }
    }
    return $allcaps;
}

function my_admin_init {
    if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
        //下面的钩子很多不能移除得太早。
        //宁杀错不放过。
        remove_action('upgrader_process_complete', 'wp_update_plugins');
        remove_action('upgrader_process_complete', 'wp_update_themes');
        remove_action('load-plugins.php', 'wp_plugin_update_rows', 20);
        remove_action('load-themes.php', 'wp_theme_update_rows', 20);
        remove_action('load-plugins.php', 'wp_update_plugins');
        remove_action('load-themes.php', 'wp_update_themes');
        wp_unschedule_hook('wp_version_check');
        wp_unschedule_hook('wp_update_plugins');
        wp_unschedule_hook('wp_update_themes');

        remove_action('wp_version_check', 'wp_version_check');
        remove_action('load-plugins.php', 'wp_update_plugins');
        remove_action('load-update.php', 'wp_update_plugins');
        remove_action('load-update-core.php', 'wp_update_plugins');
        remove_action('wp_update_plugins', 'wp_update_plugins');
        remove_action('load-themes.php', 'wp_update_themes');
        remove_action('load-update.php', 'wp_update_themes');
        remove_action('load-update-core.php', 'wp_update_themes');
        remove_action('wp_update_themes', 'wp_update_themes');
        remove_action('update_option_WPLANG', 'wp_clean_update_cache', 10, 0);
        remove_action('wp_maybe_auto_update', 'wp_maybe_auto_update');
        add_filter('user_has_cap', '_debug_ignore_wp_request', 10, 3);
    }
}

add_action('admin_init','my_admin_init');

完事。这个世界清净了。


  • (1):农历每年冬至所在的月固定为十一月。如果两个冬至间有13次朔望,则该年产生闰月。13个月中,第一个没有二十四节气里的偶数节气的月份就是闰月。因为十一月是起调点,所以农历十二月和正月是不会出现闰月的,正月初一和第一个节气春分受的影响也很小。我数学不好,但查表得到的结果,从1950年到2069的120年间,闰年就是双春,双春就是闰年,一一对应,无一例外。闰月是典型的用太阳历调整月历的规则,所以农历是阴阳历而不是纯阴(月)历。

WordPress文章/页面外链自动添加nofollow【代码/插件】

作者 老灵
2025年3月3日 20:48

在 WordPress 的文章和页面中为外链自动添加 nofollow 属性是一个常见的 SEO 优化方法,可以防止将链接权重传递给外部网站。我们可以手动在主题的 functions.php 文件中添加相关代码来实现自动添加 nofollow,也可以使用插件。

一、主题文件添加代码


//文章与页面外链自动添加nofollow
function add_nofollow_to_external_links($content) {
$regexp = '/<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>/i';
preg_match_all($regexp, $content, $matches, PREG_SET_ORDER);
foreach ($matches as $match) {
if (!strstr($match[2], home_url())) {
$content = str_replace($match[0], str_replace('<a ', '
}
}
return $content;
}
add_filter('the_content', 'add_nofollow_to_external_links');

Github代码:https://github.com/lingchenzi/blog/blob/main/wordpress/wordpress-nofollow

二、使用插件

1、Nofollow for External Link是一个更简单、专注于添加 nofollow 的插件;

2、WP External Links 是一个功能强大且广受欢迎的插件,不仅能为外链添加 nofollow,还提供额外的功能,例如让外链在新标签页中打开。

梯子机场推荐:最低年付99元,100G流量/月

博客升级为 WordPress 6.7

作者 吴杰
2024年11月13日 16:14

WordPress 大版本 6.7 今天发布了,随之而来的是 2025 主题,我已经升级了,并且换上了最新的主题,正如你所看到的一样。

原来我是一直嫌弃块主题的,今天摸索了下,不知道是6.7的块主题变好了还是我会用了,总之就是真香。

全站编辑真的很方便。最明显的体会就是页脚悬挂备案编号。之前我是通过建立子主题,然后在子主题里修改footer.php文件来实现的,为了挂一个备案编号而专门建立一个子主题,有点高射炮打蚊子的感觉。现在好了,直接编辑网站,修改页脚文字就可以实现了,真的很方便!

前段时间以来,一直在反思自己,随着年龄的增长,会有一点守旧,其实应该更开放一点,多拥抱新事物,才不至于被时代落下。

虽然古腾堡和全站编辑在互联网上风评不好,很多人觉得不好用,但我觉得还好,拖拖点点就能实现一些想法。方便用户使用,总是好的,最起码方向应该是没有错。至于为什么有那么多人喷,我想大概是幸存者偏差,用的好的人不会专门发个帖子赞扬它,只有觉得不好用的人才会去发帖抱怨,所以造成了看到的都是抱怨贴。

现在 WordPress 全力 all in 古腾堡,我相信未来会变得越来越好用,越来越成熟。

又到续费时

作者 大灰
2024年11月11日 13:00
话说我使用搬瓦工是从2017年开始,中间也买过其他家的机器,灰常记忆一直从未挪窝稳稳的运行,虽然慢却可以打开…… 今天看了下这台vps,硬盘空间又不足10GB了,感觉也没搞什么东西在上面😂,现在看来vps最低配置2H3G-50GB+空间才适合我。 今天把Nginx换到了Nginx openresty,其实也没感觉出来有多快,有些东西不兼容又换回nginx。有好的东西就想尝试下,又不是太折腾。 又到了一年VPS续费的时节,目前手里一台香港、一台美国瓦工、两台美国大硬盘机器。 买了两台大盘鸡,用来做备份。现在使用wp后台总是会报错,挺无解的尽管玩了这么多年wordpress还是找不出问题所在,只能 […]

近期调整计划

作者 大灰
2024年5月16日 00:30
最近这几天心情挺烦躁,有时候压抑,有时候暴躁的很。真不知怎么了做事也特别没有耐心,也许是太多事压在心头闹的! 试了新的wordpress自带主题,感觉还蛮不错的,配置起来还不是很麻烦。 最近网站的一些调整: 1. 打算把文章别名改为数字ID,因为有时候文章名会重复,也懒得在一次次修改这个拼音别名了。(毕竟新版wordpress已经很好了,别名终将成为过去,必须接受新的事物。)-待定 2. 彻底修改图床程序,现已改为wordpress,图片链接地址不变。-已实现 3. 准备取消自建的统计?统计了又有什么用?CF自带的也挺爽,折腾这些多余的没啥作用。-待定 4. 有计划取消自建的RSS,2-3究其 […]

关于博客新主题

2024年1月19日 16:55

在这篇文章中,不讨论深刻的问题,仅仅讲述博客新换主题的一些事情——为何选择这个主题,我对主题进行了哪些修改,我从中得到了什么。

博客的上一个主题

上一个主题修改自Saira。查看开发日志,我发现后期版本中删掉了很多用于主题自定义的代码。查看官方主题商店可见,这部分自定义功能,外加一些其他功能,被设置成了付费主题功能。我利用wordpress.org的开发日志功能,将作者删掉的那部分代码手动恢复了回来。

这个主题的代码中,有大量的注释,而且注释中非常清晰的写出:如果你想改,请改动这里的哪个代码。作为非程序员,对我来说,这大大降低了修改的难度。

这个主题我用了两年半,期间断断续续进行了多次修改。

我突然想到,某国产博客系统的应用商店,没有类似于开发日志的功能,我们无法查看商店内所有开源主题和插件的历史源代码。

博客的新主题

上一个主题用了两年半,我的心境发生了一点变化:主题本来很简单了(不能说是极简,毕竟页面元素还是有好几种),但我想找找更简单的——我想尝试首页只有标题,没有摘要的主题。折腾的过程中,我测试过多个WordPress主题,最终将目光放在瑞典大佬开发的免费主题McLuhan,并进行了一些修改。

适配汉字

该主题自带字体文件及相应css,该字体不是汉字字体。我修改字体家族,调用Windows、Linux、macOS、BSD的内置字体进行显示。并且移除原字体文件及相应css。

我看到有些博主用了云端字体,如霞鹜文楷和思源宋体。当我正在阅读他们的文章时,突然屏幕一闪,所有文字消失,几秒钟后,这些文字以引用的字体重新显示。这个过程有点突兀,因此我没有在博客上使用云端字体。

主题汉化

对前端显示的英文进行汉化。除右下角的版权信息外,其余部分应该已经全部汉化了。如果我发现汉化不完整的地方,还会进行修改。

修复Bug

该主题有一处bug:评论翻页,或提交评论后,无法直接跳转到评论区域。我不是程序员,所以发现该bug时是懵逼的。对比上一个主题的源代码,我发现该主题少了一句代码,也就是id="comments"。添加以后,这个问题没有再出现。

修改主题的收获

检验知识的唯一方法

在过去折腾的过程中,我虽然没有足够的时间去系统性学习html+css,但我依然学到了一些css和php知识。在修改主题的过程中,可以对我所学到的知识进行检验,看看我掌握的知识有没有出现错误。事实证明,我学到的是正确的。

验证自己的想法

在讲述如何验证自己想法之前,先讲一下心路历程。

该主题针对英文及瑞典语文章的显示效果是非常好的。我们都知道,汉语言文字和英文、瑞典语最大的不同是,汉字是方块字,视觉上要比英文和瑞典语文字大。因此,使用该主题显示汉字便没有英文和瑞典语那么好看了,我需要进行修改。

我想到,如果我增加行距,设置为两端对齐,为了减轻眼睛负担而将字号加大(尤其是移动端),是不是可以呢?

于是改动相应的css代码进行测试。最终发现,我的想法是正确的。

成就感

修改主题的过程中,当自己收获了成功的喜悦,心中会有让自己满足的成就感。

也许有人会问:你为何不直接用国内开发者的主题,你到底是什么居心?

答:没有什么居心,就是因为这种成就感。

在一位国内大佬连续开发出几个简单的WordPress和Typecho主题之后,我看到有博主在其博文中说:“我看到关注的博客很多都已经食用。”这个“很多”到底是多少,我不清楚。我关注的博客中,也有使用的。他的主题外观看起来不错,我在测试站安装使用过。外观好看的主题当然不仅于此。我选择了在自己能力范围内的折腾,这个过程让自己有知识和能力上的收获,更有成就感。

这个主题会用多久

这取决于下一次心境变化的时间,目前还无法确定。

下一个努力的方向

学会WordPress的主题架构,并能够将自己在Typecho上开发的主题移植到WordPress。由于时间有限,这个努力的方向能否实现还不确定。

在这里,要感谢TasteWP提供的免费服务,给我提供了完善的测试环境。特别是,我的VPS和虚拟主机都尚未支持安装PHP 8.3,但这个主题确实是在PHP 8.3环境下修改的。

博客带给我什么?——博客重建7周年

2024年1月2日 19:24

自2016年12月29日博客重建以来,至今已走过7个年头。有句话叫“七年之痒”,博客重建7年后,写博客的热情因极度繁忙的工作而有所减退——本来想在2023年12月29日将这篇文章发出来,无奈闲暇时间太少,断断续续写到现在。然而,即便如此,我依然没有放弃长文写作。宁愿不写,我也不愿意将博客完全变成微博。如果没有这个信念,我也不会在2016年底选择重建博客。既然重建,那就把这个信念坚持到底。

博客带给我精神层面的提升

接受曾经的自己

博客重建伊始,我想督促自己戒掉智能手机成瘾,记录相应的心路历程。最终,博客建立的比较成功,但戒掉智能手机成瘾却失败了。

2018年,我开始记录自己的成长经历,名为《人生前三十年》。这个连载在2020年暂时停更,原因是这种记录方式并没有凸显我和家庭成员的性格成因,以及带给我的无穷伤害。我需要换一种方式去记录这一切,但由于工作的忙碌而无暇顾及。

我为何要去写《人生前三十年》呢?起因在2017年,我陷入有点严重的抑郁状态。当时的我,不知道问题的起源,受制于物质条件,我无法去进行昂贵的专业心理咨询。天无绝人之路,因缘和合之下,经过有相似经历之人的点拨,后购买心理问卷调查,我终于得以了解到,自己抑郁,以及一系列性格和行为缺陷及障碍的根源,完全来自于原生家庭。经过总结和思考,我决定以《人生前三十年》的名字将这一切记录下来。虽然文章没有写出自己想要的样子,但写作的过程极大缓解了我的痛苦,减轻了抑郁的折磨。

2019年6月,我去了当时赫赫有名的建立在安徽宣城的净土宗寺院“弘愿寺”。三天后,我离开寺院,此时我基本走出抑郁,能够正常工作和生活。从此以后,自己的性格有极大改善,虽然目前仍有缺陷——比如自己依然喜好争执——但已经和过去的自己完全不同,几乎已经彻底脱胎换骨。重建后的博客,记录了这整个历程。

这便是博客重建带给我的巨大帮助之一。精神层面的提升,对我非常重要,彻底改变了我的人生走向。如果没有通过在博客上写作,进而发生这些改变,也许我已被埋在黄土之下。

陪伴自己成长

在博客的“关于”页面,我列出了自己使用独立博客的历史。里面提到,2013年9月16日博客因主机垮掉而倒闭之时,有个唯一的数据库备份。博文数据现在完整地放在wordpress.com上,但我从来没有去回顾。直到前两个月,我在进行测试时(下文会提到我在测试什么),将数据又恢复了一次,保存在了测试站上。工作之余稀少的休息时间,我间歇性的将以前的文章通读了一遍。

以前的文章,与现在的对比非常明显。不仅透露出曾经的幼稚,还凸显出来因原生家庭环境影响而出现的性格问题,及进而导致的语言表达问题。另外,观察世界、思考问题及写作方面的思维,已在接受学校教育之后被固化,这大大限制了我从多角度、多方面去观察世界和自身,这种情况在文章里同样表现的非常明显。

所幸的是,我终于在2018年以后认识到了这些问题。在摆脱原生家庭影响方面,我做的还算是成功;摆脱思维固化方面,仍在努力挣扎。我知道,在背后那只“手”的操纵下,想做到摆脱思维固化是非常难的。但既然已经意识到这个问题了,我必须去解决掉它。

在这里,我把其中一个事情单独拎出来说说。以后我也许单独撰文回顾这件事,因此本文中我只用寥寥数语讲述一下,希望您不要把焦点全部放在这件事上。2010年时,我喜欢过一个女生,暧昧了两个月以后,她拒绝了我。大半年以后我才走出来,因为她,我写了五篇文章。现在回头看看,当初的情执,反映的问题恰恰是原生家庭环境塑造了我缺乏关爱、没有安全感、缺乏调节情绪的能力和控制欲强的性格。这个女生在2021年结婚生子,她的老公不是我,而我也从这恶劣的性格中解脱了出来。

这些成长的过程,被我用博客记录了下来。博客的存在,陪伴了我的成长。

只是2016年之前的数据,我永远都不会再公开出来。存储这些文章的wordpress.com站点,被我设置成了私密。

反抗思想的“被迫”退化

在《警惕背后的那只手——读和菜头〈重开博客〉有感》这篇文章中,我提到,背后的那只“手”在操纵着我们能够从纸质材料和互联网中获取的一切信息类型和内容,更是操纵我们只能获取他们编撰或是杜撰的一切知识、思想和情绪。在他们的操纵下,绝大多数人会愈发心浮气躁,进而丧失逻辑思维和思考能力。即便是热爱写作的人,除了会发生前文提到的观察世界、思考问题和写作方面的思维被禁锢的问题之外,还存在这些能力的退化,首先表现出的便是阅读和写作长文能力的丧失。

大秦从未消亡,法家的理论体系对治理我们的人来说从未“过时”。对治理我们的人来说,我们出现这些恶性变化对他们和他们的后人绝对利好;对我们来说,这导致我们失去了最基本的学习能力,进而会丧失重要的生活能力,沦为一个丢失灵魂的行尸走肉。

有一些被操纵的人,意识不到这些不说,反而仗着手里的话语权去替那只“手”辩护,再试图让意志不坚定或没有主观意志的人堕入更深层的思想地狱。

如果换在过去,受原生家庭影响,我是个讨好型人格,没有任何主见,别人说什么我都相信,我能想象到自己早已踏上通往奴役之路的样子。通过不断的思考、观察和写作,如今虽然也在这条路上,但行走缓慢,希望永远不会走到终点。

博客带给我技术上的进步

折腾,还是折腾

我曾多次在博客上说“多思考,少折腾”,但只要有闲暇时间,我便收不住这颗折腾的心。

这些年,注册过数不清的BSP,折腾过独立搭建Typecho、Zblog PHP、MovableType、Flatpress(文本数据库)、Ghost、PivotX(已停止开发)、Farbox 2.0,以及已经记不住名字的程序。前些日子,我利用一个随时可能跑路的个人主机商的月付版高配VPS折腾了消耗运行内存很严重的Halo程序。有的程序折腾的掉头发,有的则能做到熟练使用。

我已熟练掌握如何利用Netlify、Vercel和CloudFlare Pages在线编译Jekyll、Hexo和Hugo,而不是本地生成html再上传。

我在自己的VPS上用过Ubuntu、Debian、Centos和AlmaLinux操作系统,在VPS上用过纯命令行操作的LAMP和2023年发生挂马事件的LNMP,也用过宝塔、1Panel、AMH、WDCP、WebAdmin等服务器控制面板。

现在,我将目标放在使用Litespeed环境、Mariadb数据库的CyberPanel面板。我的两台VPS分别在跑OpenLitespeed和已开通Starter Plan(免费)的Litespeed Enterprise。

我曾发布过3个Typecho主题,分别是DiaryWriteSimple,修改并发布了Typecho的目录树插件

我曾魔改几个WordPress主题,包括现在自己在用、啊呜喵在用的,以及几个在测试站上欣赏的。

我还曾无偿帮助过几位博友建立、维护自己的博客。

在折腾的过程中,虽然远达不到精通的程度,但还是了解了不少东西,促使我能够基本独立进行博客的建立和维护,还能帮助博友解决一些常见的基础问题。在技术层面之外,与人心有关的种种,我也深刻领悟了——我在求助技术问题时,曾被少部分博主嘲讽,特别是折腾Bitcron期间;当思想本可以碰撞出火花时,极个别博主却不想真心讨论问题,只想让你接受,只想教育你,只想证明你是错的,在找不到理由时,便直接进行人身攻击。可又能怎么样?始终没能阻止我技术和思想的成长。

折腾是我的爱好,但我不会将它变成职业。有位WordPress免费主题开发者的前车之鉴便是如此。

博客运营的备用选择

经过折腾,我可以做到不拘泥于某个特定的服务,某个特定的技术去维护博客。假如,提供服务的主机商倒闭了,或服务质量大幅度下降,可以立刻迁移;某个著名的服务器控制面板加入了后门(懂得都懂),可以立刻使用其他的面板;博客程序能做到无缝切换,不损失任何数据……

为了博客能顺利的维护下去,我准备了备选方案。

前面提到,我为了测试而恢复了旧的博客数据。我测试的,正是上文提到的Litespeed Enterprise。我花费0元购买了Litespeed Enterprise的Starter Plan,复刻了与目前所用虚拟主机完全一致的服务质量和使用体验。如果目前的虚拟主机不再使用,我可以在自己的VPS上独立托管这个博客。

对于使用Litespeed Enterprise的虚拟主机,或者专业的WordPress Hosting,也有备选,虽然花销会比目前使用的虚拟主机高,但依然低于使用VPS的费用。

等待天明

影视节目制作人季业曾说过这样一段话:

如果天总也不亮,那就摸黑过生活;如果发出声音是危险的,那就保持沉默;如果自觉无力发光,那就别去照亮别人。但是——但是:不要习惯了黑暗就为黑暗辩护;不要为自己的苟且而得意洋洋;不要嘲讽那些比自己更勇敢、更有热量的人们。可以卑微如尘土,不可扭曲如蛆虫。

摸黑生存并不可怕,可怕的是为黑暗辩护;同样可怕的是,身处黑暗却不自知,以至于双目失明。

我想起这样两类人:

第一类人,代表之一便是斯维拉娜·亚历塞维奇在《二手时代》中记录的,那些在罪恶的时代结束之后反而仓皇失措的人。

第二类人,代表之一则是东晋、姚秦时期著名高僧鸠摩罗什。从公元382年开始,他经历了人生至暗的20余年,但他依然没有放弃信仰和信念,厚积薄发,最终成为一代高僧,译经三十五部,广为流传到今天。

我正在向鸠摩罗什及以他为代表的第二类人学习。在至暗时刻,我一直试图点燃烛光,哪怕再微弱,也要照亮内心。如果能唤醒他人,那便是功德无量。我相信,天亮之前是最黑暗的时刻,熬过这一刻便是黎明的曙光。我会耐心守护心中的烛火,拼尽全力等待天明。

警惕背后的那只手——读和菜头《重开博客》有感

2023年11月19日 10:49

说来惭愧。前不久我才知道和菜头已重开博客,而这已经是6个月之前的事情了。作为十几年前便开设了独立博客的博主,当时的博客圈很少有人不知道和菜头。


先说说我对和菜头仅有的了解。

2011年,我从一本讲述Linux日常使用的书的配套光盘的视频中看到了一个网站《槽边往事——比特海日志》,这就是和菜头最广为人知的博客。

就在那段时间,我发现他其实还有两个开设更久远的博客,内容是同步的,在2009年底全部被“隔离”了。有其他独立博客记录了原因:当时他点评了一个社会新闻。具体是什么新闻,时隔十余年我已经不记得了。那时,他的文章后面会附上一句话和一张图,巧的是这张图我因为很喜欢便保存起来了,如今贴在这里,一起回味。

和菜头在没有被“隔离”的博客上发布的内容与另外两个博客同步。根据页面版式、302跳转链接、页脚的电话号码等信息,我推测这个博客托管在了罗永浩创建的牛博网上。这个网站对近些年走入博客圈的博主来说应该都很陌生。想当年,牛博网上群英荟萃,也正因如此,牛博网被强制关闭,服务器被迫迁移,随后也被“隔离”;老罗在国内服务器重新开设了“嫣牛博”,将其定义为“阉部落”。2013年夏天,老罗关闭了牛博和阉牛博,但《槽边往事——比特海日志》一直保留着。几年后,打开《槽边往事——比特海日志》,页面提示数据库空间已满,博客倒下。

和菜头曾经利用Feedburner(后被谷歌收购)提供邮件订阅,该服务通过抓取RSS更新,自动向订阅的电子邮箱发送新的内容,无需手动操作发送过程。我的邮箱收到的这些邮件,至今依然保留着。

几年前,和菜头转战WX公众号。然而,他的写作风格却在写公众号不久之后就变了。

和菜头在2011年7月23日的文章(互联网档案馆同步链接)当中提到:“我的实名并非和菜头,而是赵得柱“,不知道这是不是他的真实名字。


当我看到《重开博客》以及2020年注册的新域名所发文章《1587》,我深有感触。自从我2016年12月29日重建博客以来,对于他提到的问题,我也被影响过,我也思考过。这些问题,我将直接引用“槽边往事”的内容叙述,并在引用之后,讲述自己的思考。对我来说,能够支撑到今天,靠的是一种更猛烈的坚持,这种坚持除了要求自己坚持思考和写作之外,也是在坚持一些“反抗”。

博客算是网络近现代史上的一款老产品,在中国早已经式微。尤其是移动互联网的兴起,让人们大规模地转移到App里去,不再写长文,而是以发短文字、图片和视频为主。所以,博客在中国已经完全过气,而我这样的行为应该算作是一种复古。

类似的事情,包括我在内已经有无数的人曾经提起。

对不少人来说,不仅仅是“不再写长文,而是以发短文字、图片和视频为主”,而且连阅读长文的能力都已经退化甚至丧失。打开一篇长文之后,心浮气躁之下草草看两眼就关掉,只愿意阅读包含图片和视频的短文。

这一点,在独立博客圈表现同样非常明显。在一些以记录日常为主的博客中,包含着很多图片的短文,下面的评论就有很多;而我的博客当中,上千字甚至两三千字的长文下面评论数则少得可怜。

每家大公司建立起一个平台,把内容和用户全部集中在自己的App里。

他们习惯了打开App,并且将这种动作视为上网本身。

这些App通过这些方式实现了流量内循环——利用用户的人际关系进行捆绑,并限制外链、限制跨平台分享。APP内包含着无数不透明且动态变化的“红线”,于是靠标题党和谣言组成绝大部分内容,将人们推进“娱乐至死”的怪圈中。

有些人将这种现象视为国内互联网发展的“趋势”,似乎这是不以人们意志为转移的时代发展“潮流”。而我却不这样认为。

我认为,国内互联网背后有一只“手”,无时无刻不在操纵这一切,有意将国内互联网创造成这个样子,目的很明确:让绝大多数人愈发心浮气躁,进而丧失逻辑思维和思考能力,成为一名只能被动接受由他们编撰(抑或是杜撰)的一切知识、思想和情绪的机器。这个目的对哪些人利好,懂的都懂。

只不过,总有那么一戳人是例外。

只使用手机上网的人,和同时使用台式机电脑、笔记本电脑、平板电脑、智能手机的人,完全是不同的两类人。简单说起来,只会用手机上网的人不大适合阅读,他们的行为习惯是快读扫读,然后就要留言发表看法,并且喜欢在留言区里骂人。会使用电脑,熟练进行Web上操作的人,毫无疑问眼界要相对宽广一些,多少见识过一点世界,这些人还保留有阅读的习惯,也知道讨论的形式和规则……这样的读者群和这样的讨论,一旦产生之后就可以保留在互联网上,可以为搜索引擎所查找,于是就对所有人提供了永续的价值。

根据我的经验,将“会使用电脑,熟练进行Web上操作的人”都描述为“眼界要相对宽广一些,多少见识过一点世界”过于绝对,但是,这类人确实要比“只使用手机上网的人”在阅读和讨论方面有太多的优势。

海浪撞击海岸的鸟瞰图。
田野的鸟瞰图。一条道路穿过右上角。

不知道您是否听说过上面图片中的两本书。奥威尔的书描述了人们出现“对真实世界认知能力的毁灭,更是人自我意识的毁灭”;赫胥黎的书描述了“科技并没有令社会的人民精神进步,反而让社会文化倒退”。现如今,二者都存在,并且是二者的有机结合。

背后的那只“手”,有足够的能力对这两类人分别施加类似于两本书中描述的“法术”,拿捏的恰到好处,无懈可击。

和菜头在文章中还提到:

十五年前,我是用WordPress架设博客,购买了独立域名,委托朋友帮我购买了虚拟机。唯恐访问速度慢,唯恐国内读者看不到,唯恐搜索引擎优化不足,唯恐博客界面难看。为此我花费了许多时间和精力,申请过ISP,替换过不知道多少套模板,用了许多种性能优化插件。

我可能还要考虑是不是在GitHub上架设一个静态博客,是不是要在Typecho和Hexo之间做选择?因为blogger和WordPress已经不是最流行的了,用起来不够前卫。

我也有一部分相似的经历,而我折腾的更多。

2016年12月底重建博客之后,我花费了很多时间折腾。我折腾过TypechoZblog PHPMovableType阮一峰的网络日志使用的程序)、FlatpressGhost(自托管)、PivotX(已停止开发)、Farbox 2.0(折腾的掉头发,再也不玩这个了),以及一些我已经记不住名字的程序。我还尝试建立Jekyll、Hexo和Hugo三类静态博客。最新又想折腾Halo程序,但我没有闲置的VPS了,也没有足够的闲暇时间。

我自己的博客使用的程序,从2011年到现在,经历过WordPress、Jekyll、Zblog PHP和Typecho之后,又回到了WordPress。现如今,Litespeed环境,无论是开源的OpenLitespeed,还是针对单个网站免费的Litespeed Enterprise,都对WordPress和其他一部分PHP程序提供了足够的优化,速度丝毫不差。WordPress使用起来难度最低,有足够的、完善的资料可供独立查找。因为,在简体中文圈,在那只“手”的操纵下,有很多人的戾气非常重,他们喜欢嘲讽求助者,而不是帮助求助者。最好的办法,是独立查找资料,询问可靠的人,而不是有求于那些嘲讽者。

图片来源:OpenLitespeed官网

真正的问题是什么平台看样子能够持续稳定地存在下去?以及今天才存在的特色问题:如何让一篇文章成为互联网上的文章,而不是App的内部文章?也就是说,它可以被搜索引擎找到,被他人简单容易地跨平台引用和链接,让我明晰地看到trackback和feedback。

你看,独立博客上的文章不就是互联网的文章吗?

我在文章中添加了对其他内容的引用和链接,都是跨平台的。


我的博客,并不像“槽边往事”一样拥有流量。反之,正如上文中提到的,评论数少得可怜;在inoreader和feedly的订阅量远少于以短文、丰富的图片为主的日常记录博客,也远少于记录较多但思考较少的博客。

要知道,“不再写长文,而是以发短文字、图片和视频为主”的现状,对那只“手”的操纵者而言是好事,可对我们呢?我意识到,我们被这只“手”操纵而丧失了重要的东西,影响的是我们自己的一生。

因此,我要“反抗”这只“手”制造的所谓“潮流”。

我不仅要多读书,多观察这个世界的不同角落,多记录,多思考,并且要保留自己写作长文的能力,增强自己写作长文的动力。因为在写作长文的过程中,可以将自己积累的思考通过一定的逻辑记录下来,不仅记录了世界最真实的样子,而且还锻炼了那只“手”试图抹杀掉的能力,这二者都很有价值和意义。

我的棱角,并没有全部被这只“手”磨平,有些反而更尖锐了。

博客改版&使用区块编辑器

2022年7月15日 07:56

博客改版

如您所见,博客换主题了。十天内,我换了三个主题。后两个主题样式相似,也许您看不出来。

博客刚从Typecho转换到WordPress时,我用的主题是write的旧版本。该主题旧版本2016年停止更新;2018年作者对主题进行重构,并将部分可定制功能修改为付费功能,个人认为新版本样式没有旧版本好看。有些开发者直接提供旧版本安装包下载,write就是如此,我对它进行了大手术,并修复了因create_function函数在php8中被移除导致的错误。这在《博客程序更换为WordPress》一文中有所提及。

我在测试站会测试一些主题。当我测试Clean Toolbox主题时,眼前一亮。大体样式我很喜欢,但一些细节存在问题,css写的有点乱。调试一周后上线,上线后继续调试。期间,啊呜喵也看上了这款主题,我将做好的子主题送给了他,并将每次的修改都同步到它的虚拟主机上。

Clean Toolbox还有一些细节我不够满意,但由于不懂PHP,对css也是一知半解,调试遇到了瓶颈。在使用了约一周左右之后,我换掉了这个主题,待我将其修改的较为完美之后再考虑上线。

现在使用的主题,在初代版本提供了各种定制功能,但后期的更新下线了部分定制功能,将其改为了付费功能。好在,WordPress.org官网会对各个主题的修改历史进行记载,可以查看任何主题的历史版本代码及变更情况,且可以下载相应的文件(不得不说,WordPress.org做得真好,真不愧是国外平台。国内的博客程序平台就没有这个好事)。我根据历史记录,花费2个小时通过摸索恢复这部分定制功能,并将版本号调高。当然,这样修改仅限自己使用,我不能对外提供修改后的主题包。

使用区块编辑器

WordPress的区块编辑器,之前是被我禁用的。WordPress官方提供禁用方式,除官方有经典编辑器插件外,第三方插件(如我正在用的“小工具”插件)也可以利用官方接口禁用或启用经典编辑器以及WordPress的其他很多功能。

在测试站,我多次使用区块编辑器。我发现,它对格式的识别和转换,比经典编辑器好很多。

将markdown格式的文件,直接复制到区块编辑器中,编辑器可以自动识别,不会出现无用的文字或代码,显示的格式和markdown编辑器中显示的格式完全一致。不再需要将markdown格式的文件复制为html再粘贴,也不再需要在WordPress中使用markdown插件。如您所见,这篇文章就是这样发布的。

区块编辑器也可以单独定制文章中文字、图片和其他元素的单独格式。对我来说不会在每一篇文章中都使用这个功能,但不代表我完全不需要。

在经过简单学习后,我决定在本博客启用区块编辑器。

对于历史文章,我用WordPress.org的母公司Automattic开发的Newspack Content Converter插件,将html格式转换成了区块格式。该插件会将html格式的原文章放在ncc_wp_posts数据表中保存,并将每篇文章的两种格式一一对应。

瞎折腾

放假回家后,我闲着的时候又在测试Zblog PHP、Emlog Pro(crack)、FlatPress这些。

FlatPress是特殊时代的产物,只是随着数据库的廉价,它已不再具有优势。

我用来记录工作当中琐碎事情的博客,从Typecho换成了Ghost。

2022年7月31更新:我用来记录工作当中琐碎事情的博客,更换了域名,原域名用于测试,到期后不再续费。该博客使用的程序从Ghost换成WordPress,然后又换到了Typecho。该博客换到Typecho时,我没有转换内容,一切重新开始。

折腾RSS

作者 大灰
2023年11月4日 18:20
今天打开友链又有很多网站打不开,真不知道是网络原因还是不做网站了?要做就一直做,三分热度的朋友就不要友链了。话说现在也懒得友链,经常去访问的站点我都加入了RSS阅读器。 我记得最开始折腾二级域名的时候就做了https://rss.bestcherish.com,当时用的程序比较老旧还不兼容PHP7.4,最后有朋友做了修改版一直使用到现在。直到昨天我又折腾了RSS程序,换为FreshRSS支持PHP最新版本,还支持mysql数据库。总之使用起来比之前太丝滑。有很多朋友禁用了Feed,添加不了源地址,只能就这样了。 以后友情链接慢慢会往RSS转移,网站不增加新的链接。 灰常记忆发自 WordPre […]

进阶之好物2.0版本

作者 叶子
2023年6月7日 21:49
进阶之好物2.0版本

前几天跟风@林木大佬,弄了个好物页面,我愿称其为1.0版本,因为更新方式是通过手写json文件来进行更新的,实在过于麻烦,于是就有了下面的2.0版本。

其实2.0版本也是因为看到林木大佬已经将JSON替换成Memos来更新好物了,更便捷方便了。所以也就促成了我这次更新2.0版本了。

2.0版本最大的不同,就是从原先的json获取数据,变成了在数据库建立wp_haowu数据表,后期更新只需在后台进行编辑和修改就可以了,再也不用去json页面里手写了。

废话不多说,大家看图。

进阶之好物2.0版本
进阶之好物2.0版本

以这种方式更新好物,再也不怕数据多和麻烦了。

数据前端通过短码调用即可。文章页也可以不过暂时有缺陷,因为它会和独立页面一样一直随着你发表的新好物更新而更新,而不会是暂停数据为你发表文章时的数量。不过后面可以考虑写一个调用单一好物的短码函数。

后续也可以通过写这个插件的思路,写一些别的,例如照片页(例如@wananaiko博主这种)或者软件页(例如@空白生活 博主这种),都挺好哒。

跟风创建“好物”页面

作者 叶子
2023年6月1日 15:52
跟风创建“好物”页面

昨天刷博客,刚好刷到大佬@林木木的博客搞了“好物”的页面,然后也给出相关的教程,就也跟风搞了一个。感觉还不错。

每一次@林木木大佬都走在我们的前列,搞出了不少新花样、新玩意儿和新玩法。这一次紧随大佬脚步。

实现思路

具体教程其实大佬的博客就有,不过他的是HUGO的,我简单阐述下wp博客的实现思路,其实大同小异。

简单来说,一样涉及到3个文件,分别是

  • 1、json文件(存放数据)
  • 2、独立页面(对外展示)
  • 3、css样式(样式表)

通过在独立页面中引用json数据,写上一个循环,然后写个css样式配合就可以了,很简单。

然后更新内容还是需要通过修改json文件来进行更新,还算是比较方便。

参考链接:https://immmmm.com/hugo-goods-page/

结尾

今天刚好就是“618”活动开始的时间了,大家有可以想买的可以赶紧入手啦。

更新说明

2023-06-03 已更换为利用WP后台发布好物,具体见:《进阶之好物2.0版本》

为评论者链接添加“from”参数,实现追踪来源及导流的功能

作者 叶子
2023年3月25日 16:25

前言

因为经常看见部分网站上的链接上有form参数,了解过form参数的作用后,即from字段是用来做统计流量是从哪过来的。想着别人在自己的站点统计中还能够看到自己网站地址,变相的也可以给我们引流。故有了下面这篇文章。

正文

该函数的作用是为除博主以外的评论作者的链接添加一个“from”参数,用于标识该链接的来源。其中,“from”参数的值是当前WordPress站点的域名(去除协议前缀的部分),用于记录该链接是从哪个站点转发过来的。

为评论者链接添加“from”参数,实现追踪来源及导流的功能
例图

具体实现中,该函数首先获取当前WordPress站点的域名和管理员邮箱地址,并判断当前评论作者的邮箱地址是否与管理员邮箱地址相同。如果相同,则返回原始的评论作者链接,否则为该链接添加一个“from”参数,并将链接目标设置为在新标签页中打开。最后返回处理后的HTML标签字符串。

该函数的作用在于追踪来自哪个站点的评论链接,为评论链入的站点提供一定的来源参考,同时可以增加评论链入站点的流量。

放在主题文件夹下functions.php文件里即可。

//评论者链接增加form参数,实现导流及追踪来源。且新窗口打开评论者链接。
function yzrss_comment_link_add_from($text) {
    $from = str_replace(array('https://', 'http://'), '', get_option('home'));
    $adminEmail = get_option('admin_email');
    if(get_comment_author_email() == $adminEmail){
        $return = $text;
    }else{
        $return = str_replace('<a', '<a rel="external nofollow" href="'.get_comment_author_url().'?from='.$from.'" target="_blank"', $text);
    }
    return $return;
}
add_filter('get_comment_author_link', 'yzrss_comment_link_add_from');
❌