博客

  • [网页]:自定义post_type管理-时间线功能

    先来看现有的puock主题的时光圈功能如何实现.

    时光圈(Moments)是一个基于WordPress自定义文章类型的微博客功能,采用时间线布局展示动态内容。

    现有功能打造

    1. 自定义文章类型注册

    时光圈通过 register_post_type() 注册名为 moments 的自定义文章类型 moments.php:3-41 :

    2. URL重写规则

    实现自定义URL格式 moments/{ID}.html moments.php:44-61 :

    3. 页面模板实现

    模板文件 pages/template-moments.php 负责前端渲染 template-moments.php:1-80 :

    4. 缓存系统

    使用主题统一的缓存机制,缓存键定义为 PKC_MOMENTS

    复刻自定义时间线版块

    步骤1:创建新的自定义文章类型

    // 在 inc/ext/ 目录创建新文件,如 my-timeline.php  
    function pk_ext_my_timeline_init() {  
        register_post_type('my_timeline', array(  
            'labels' => array(  
                'name' => '我的时间线',  
                'menu_name' => '我的时间线'  
            ),  
            'public' => true,  
            'supports' => array('title', 'editor', 'author', 'comments'),  
            'rewrite' => array('slug' => 'my-timeline'),  
            'has_archive' => true  
        ));  
    }  
    add_action('init', 'pk_ext_my_timeline_init');

    步骤2:创建页面模板

    复制 pages/template-moments.php 为 pages/template-my-timeline.php,修改:

    • 模板名称:Template Name: 我的时间线
    • 查询参数:'post_type' => 'my_timeline'
    • 缓存键:创建新的常量如 PKC_MY_TIMELINE

    步骤3:添加缓存支持

    在 inc/fun/cache.php 中添加:

    const PKC_MY_TIMELINE = 'my_timeline_%s';

    在缓存失效函数中添加相应的清理逻辑。

    步骤4:创建样式文件

    在 assets/style/ 目录创建新的样式文件,或扩展现有样式文件,添加新的样式类如 #page-my-timeline

    步骤5:URL重写(可选)

    如需自定义URL格式,参考 inc/ext/moments.php 中的重写规则实现。

  • [网页]:CSS+HTML制作流星背景

    [网页]:CSS+HTML制作流星背景

    调试过后的代码如下:

    /* 星空背景 */
    .starry-sky {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(45deg, #000000 0%, #0a0a2a 50%, #000000 100%);
        z-index: -2;
        overflow: hidden;
    }
    
    /* 基础星星样式 */
    .star {
        position: absolute;
        background-color: white;
        border-radius: 70%;
        animation: twinkle linear infinite;
    }
    
    .star.small {
        width: 2px;
        height: 2px;
    }
    
    .star.medium {
        width: 3px;
        height: 2px;
    }
    
    .star.large {
        width: 8px;
        height: 7px;
    }
    
    /* 增强的动态流星效果 */
    .shooting-star {
        position: absolute;
        width: 120px;  /* 增加长度 */
        height: 2px;
        background: linear-gradient(
            to right,
            transparent 0%,
            rgba(255,255,255,1) 10%,
            rgba(220,240,255,0.9) 30%,
            rgba(150,200,255,0.5) 70%,
            transparent 100%
        );
        transform-origin: left center;
        transform: rotate(-45deg);
        animation: 
            meteor-fly 2s linear infinite,
            meteor-flicker 0.3s ease-in-out infinite;
        z-index: 1;
        filter: drop-shadow(0 0 5px rgba(100,180,255,0.8));
        opacity: 0;
    }
    
    /* 流星动画 - 主要飞行轨迹 */
    @keyframes meteor-fly {
        0% {
            transform: rotate(-45deg) translateX(-100px) translateY(-100px);
            opacity: 0;
        }
        5% {
            opacity: 1;
        }
        70% {
            opacity: 0.8;
        }
        100% {
            transform: rotate(-45deg) translateX(calc(100vw + 100px)) translateY(calc(100vh + 100px));
            opacity: 0;
        }
    }
    
    /* 流星闪烁动画 - 增加动态感 */
    @keyframes meteor-flicker {
        0%, 100% { opacity: 0.9; }
        50% { opacity: 1; }
    }
    
    /* 星星闪烁动画 */
    @keyframes twinkle {
        0%, 100% { opacity: 0.3; }
        50% { opacity: 1; }
    }
    
    body {
        background: transparent !important;
        font-family: 'Helvetica Neue', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
        line-height: 1.6;
    }
    
    /* 性能优化 */
    @media (prefers-reduced-motion: reduce) {
        .shooting-star {
            animation: none !important;
        }
    }
    
    

  •  [AI]:从0开始在 WordPress 上构建个人 AI 云相册(3)

     [AI]:从0开始在 WordPress 上构建个人 AI 云相册(3)

    本期内容是分享关于WordPress搭建WP云相册的第二步,通过GPT和豆包实现页面的构建。

    我们直接进入主题,其中主要内容包括:

    页面风格
    动画
    网页结构
    访问逻辑

    工具 / 原料

    • 核心工具:豆包 AI(页面构建 + 预览功能)、GPT(辅助开发)
    • 输出物:相册页面动画源代码(附于文末)

    方法 / 步骤

    1. 明确相册效果目标

    • 主体风格:纯白亮色背景,大面积留白,搭配简洁导航栏。
    • 页面构成
      • 页面 1(分布式相册):按城市分类的分布式排版,每个城市为独立入口,点击展开该城市图片列表。
      • 页面 2(诗意单页):单个城市的独立页面,采用更具设计感的诗意化布局,区别于文件夹式风格。

    2. 生成精准提示词

    • 核心限定条件
      • 网页容器尺寸、编排格式(如栅格 / 瀑布流);
      • 动画效果(如过渡、悬停交互);
      • 访问逻辑(如点击跳转、返回首页)。
    • 提示词关键词:[后续补充具体关键词列表]

    3. 豆包 AI 编排工具操作流程

    • 步骤 1:将提示词输入多宝 AI 编排工具,通过侧边栏实时预览页面效果,反复调整细节。
    • 步骤 2:确认效果后,生成 CSS+JSON 代码包。
    • 步骤 3:将代码文件上传至 ModelPress 后台,直接部署为可访问页面。

    注意事项

    • 保持两个页面风格统一(纯白基底 + 留白),但逻辑区分明确:分布式页面侧重分类效率,诗意页面侧重视觉体验。
    • 源代码可直接复制使用,如需调整动画参数,可修改 CSS 中的transitionanimation属性。

    (文末附:AI 生成的页面动画源代码)

  • [笔记]:大厂卷服务、小厂拼价格

    [笔记]:大厂卷服务、小厂拼价格

    服务内卷,一场没有终点的马拉松

    华为云在夜间11点回了我售后电话,
    阿里云在凌晨1点处理了后台工单。

    最近收到了华为云变更互联网信息的备案提醒,我趁白天时间提交了核验信息,并且收到了短信和邮件的双重进度提醒。

    中途对流程规则有一些不解之处,申请被驳回,于是提交了很晚的咨询工单。

    大约过了5分钟,售后电话接入,并且给了逻辑非常完整、非常专业的解答。

    同样的,类似的事件,在阿里云也发生过,之前迁移站点因为插件和规则的问题,导致网页信息需要修复。

    凌晨提交的工单,凌晨1点半工程师在线回复,早上9点半分派的高级工程师也协助在线回复,这两次经历,我对客服及工程师的专业水平和服务素养都是给了好评的。

    大厂提供的稳定服务,正在逐渐建立强大的竞争壁垒,和行业的评价话语权,反过来中小厂商在传统赛道上很难与大厂的规模优势正面抗衡,只能通过价格站来换取生存空间。于是价格体系和单位付出回报开始异形。

    于是抛出来几个值得深思的问题:

    1、我所在的行业,内卷趋势和上述互联网生态一致吗

    2、我所在的公司,在内卷中的生态位是哪个位置

    3、我所在的职能,是单位付出回报被边际化的一环吗
  • [见闻]:香港 – 冬日出差沿途记录

    [见闻]:香港 – 冬日出差沿途记录

    周五出差了一趟香港,在中环和铜锣湾附近刷了一遍步数。

    每次来香港的感受,就是拥挤的道路到处挤满了车和行人。

    这次在中环中心的路上,左边从两个大陆的游客传来了一个词,“割裂”。这是作为路人视角,能够引起共鸣的一个词汇。

    铜锣湾核心区的房价高达25万港币一平方尺,但是在希慎、利园商业街的转角,就是随处可见的脚手架和塑料棚,摆放着十几元的地摊。这种恍若隔世的景象,其实在中环和尖沙咀也能够看到。

    即使是中环中心,也同时看得到身着西装的金融白领和推着脚力车的搬运工以及拾荒者。

    世贸广场这个商场的Manner上次来的时候还在营业中,当然也有一些其他的大陆品牌选择在这里作为出海首站。

    到达深圳口岸,已经是晚上十点

    刚踏进2026,就感觉好累,坚持,顶住……

    香港
    铜锣湾,世贸中心夜景
  •  [网页]:改造 Puock 主题时光轴效果

     [网页]:改造 Puock 主题时光轴效果

    时光圈是Puock主题的一个自定义页面模板,用于展示时间线风格的动态内容。template-moments.php:1-4

    在现有主题时光圈功能的基础上,做了一丁点的倒腾。直接上效果演示,代码和实现过程如下:

    修改之前记得先备份原文件,或创建子主题进行。

    第一步:准备工作

    具体操作:

    1. 在你的网站文件夹中找到 目录wp-content/themes/
    2. 创建一个新文件夹,命名为puock-child
    3. 在 文件夹中创建一个文件,命名为puock-childstyle.css
    4. 在 文件中粘贴以下内容:style.css
    /*  
    Theme Name: Puock Child Theme  
    Template: puock  
    */
    
    

    第二步:修改时光圈模板文件

    你要做什么:
    替换时光圈的显示方式,从原来的列表样式改成新的时间线样式。

    具体操作:

    1. 找到文件wp-content/themes/puock/pages/template-moments.php
    2. 备份这个文件(复制一份到桌面,以防出错)
    3. 打开 文件template-moments.php
    4. 找到第30行到第69行的内容(就是有 的那一大段)foreach ($posts as $post)
    5. 把这部分内容替换成:
    <div class="life-timeline-container">  
        <div class="timeline-line"></div>  
        <?php   
        $timeline_items = get_posts(array(  
            'post_type' => 'moments',  
            'posts_per_page' => 10,  
            'orderby' => 'date',  
            'order' => 'DESC'  
        ));  
        foreach ($timeline_items as $item):   
        ?>  
            <div class="timeline-item">  
                <div class="timeline-dot"></div>  
                <div class="timeline-card">  
                    <h3 class="timeline-title"><?php echo get_the_title($item); ?></h3>  
                    <p class="timeline-desc"><?php echo $item->post_content; ?></p>  
                    <span class="timeline-date"><?php echo get_the_date('Y-m-d', $item); ?></span>  
                </div>  
            </div>  
        <?php endforeach; ?>  
    </div>

    第三步:添加新的CSS样式

    你要做什么:
    添加新的样式代码,让时光圈看起来像时间线。

    具体操作:

    1. 在你之前创建的子主题文件夹 中wp-content/themes/puock-child/
    2. 打开 文件style.css
    3. 在已有内容下面,粘贴你提供的所有CSS代码(从 开始到最后一个 结束).life-timeline-container}

    第四步:启用子主题

    你要做什么:
    告诉WordPress使用你的子主题。

    具体操作:

    1. 登录WordPress后台
    2. 进入 “外观” → “主题”
    3. 你应该能看到一个名为 “Puock Child Theme” 的主题
    4. 点击 “启用” 按钮
  • [笔记]:5年来,深圳租房的最佳实践

    [笔记]:5年来,深圳租房的最佳实践

    作为一名在深圳打了5年工的“老深漂”,我经历了多次搬家。从最初的龙华到关内,再到老城区,我用5年的光阴,实践了租房的足迹。直到2年前,我搬到了目前的东湖街道太安片区,才终于认为是找到了最佳租房POI。

    踩坑、合同、布局,那些并不是我想分享的,而是想记录在这生活的一些调剂。

    梧桐山夜景

    东湖街道太安片区有什么?

    在深圳打拼,有个好的居住环境太重要了。作为深圳最早发展的城区,1号公交线路经过这片,5、7两条交通线路换乘便利。同时生活成本相对较低,生活气息静谧。最满意的是,这里靠近东湖公园和深圳水库,提供了难得的休闲空间。

    元旦的深圳水库

    在这里的生活体验

    每天晚上,可以去东湖公园跑步,公园里有深圳水库,可以登高望远。这里还靠近梧桐山,东湖公园内时不时有垂钓、球赛、艺术表演等,还有美术馆和小型动物展。

    偶尔有猴子、兔子、非洲鸟

    傍晚时分,在东湖绿道上散步,常常能遇到流浪猫,听林中的虫鸣和河中的蛙声。

    节假日布置花展、深圳美术院艺展等

    生活便利程度也是相当到位的,小区附件就是喜荟城和天河城商业综合体,吃喝玩乐选择较多,周边餐馆、理发店、奶茶店很多,居家点外卖之类的也相对方便。

    小山有3条爬行路径,绿道可以直穿梧桐山和仙湖植物园。

    总的来说,虽没在市中心,但这里的节奏,更能够安放我的精神世界。

  •  [AI]:从0开始在 WordPress 上构建个人 AI 云相册(1)

     [AI]:从0开始在 WordPress 上构建个人 AI 云相册(1)

    在接下来的一个月,我将从0开始,拆解和实践,如何借助AI实现个人服务器相册功能的搭建。

    基本目标:这个相册不是简单的图片堆砌,而是一个带时间戳、地理标签和创作情绪的个人视觉档案库,风格留白,带有评论功能、脱离主题本身布局、访问速度适中。

    计划分如下4步开展:

    第一步:架构与风格决策

    1.1 明确素材元

    • 内容源:信息如何批量提取,拍摄日期(EXIF提取)、创作者(「执迷者X」)、设备型号、地点
    • 内容的SEO:根据图片信息,生成SEO名称。

    1.2 站点结构决策

    结论:在现有 WordPress 站点(lifetruth.top)下新建独立页面,而非子域名或独立站点。

    理由

    • SEO 权重继承:相册页面可共享主站域名权威度
    • 备份一体化:纳入 WordPress 现有备份体系(UpdraftPlus)
    • 开发成本低:复用主题基础样式,仅覆盖特定 CSS

    第二步:AI 驱动的样式迭代

    2.1 用 AI 生成初始版式

    向 ChatGPT/Claude 提供精确 prompt:

    生成一个 WordPress 单页相册的 CSS 代码,要求:
    - 亮白主题,主色 #fefefe,文字 #222
    - 瀑布流布局(masonry),图片圆角 8px
    - 悬停时图片轻微放大(scale 1.03)+ 淡入拍摄信息
    - 响应式:移动端 2 列,平板 3 列,桌面 4 列
    - 禁止使用外部字体图标

    迭代技巧:每次只改一个变量(如把「圆角 8px」改成「圆角 0px」),让 AI 给出对比和逐步逼近。

    2.2 功能清单(UI 层面)

    • 图片卡片:缩略图 + 悬停叠加层(显示拍摄日期、设备、地点)
    • 懒加载:使用原生 loading="lazy" 属性
    • 灯箱:用 PhotoSwipe 插件(轻量,无 jQuery 依赖)
    • 筛选:按年份、地点、设备(需 ACF 字段支持)

    第三步:技术实现与性能优化

    3.1 数据流设计

    // 伪代码:图片上传后的处理流程
    1. 用户上传照片 → 触发 WordPress `add_attachment` Hook
    2. 调用 PHP EXIF 读取函数(exif_read_data)
    3. 提取 DateTimeOriginal、Make、Model
    4. 存入 ACF 自定义字段:shooting_date, camera_model
    5. 生成 WebP 缩略图(用 Imagick 或 ShortPixel 插件)

    3.2 性能优化清单

    优化项实施方案预期提升
    CSS 体积内联关键样式,异步加载次要样式FCP -0.5s
    JS 阻塞灯箱脚本 defer 加载TTI -0.8s
    图片加载使用 srcset 响应式图片 + WebPLCP -1.2s
    数据库ACF 字段索引优化查询 -30%

    代码示例:在主题的 functions.php 禁用 Elementor 等页面构建器的冗余样式:

    add_action('wp_enqueue_scripts', function() {
        if (is_page('gallery')) {
            wp_dequeue_style('elementor-frontend');
        }
    }, 999);

    第四步:评论功能取舍

    决策不开发独立评论,复用 WordPress 原生评论系统。

    理由

    • 原生评论已支持 Akismet 防垃圾、邮件通知
    • 单张照片页(灯箱内)不宜塞入评论框,破坏沉浸式体验
    • 可在相册页底部增加一个「留言板」区域,用短代码调用评论区:
    // 在相册页面底部插入
    <?php comments_template(); ?>

    未来扩展:若真需要图片级评论,可研究 WP Discuz 插件的「Media Comment」模块,但会显著增加复杂度。

    周次任务交付物
    Week 1搭建本地测试环境,创建 page-gallery.php 模板可访问的空白相册页
    Week 2批量导入 10 张测试照片,AI 调试 CSS 样式带瀑布流的静态页面
    Week 3接入 EXIF 数据提取,优化 WebP 生成逻辑动态显示拍摄信息的相册
    Week 4部署到线上 lifetruth.top/gallery/,性能压测可公开访问的相册 Beta 版
  • [AI]:借助AI高效设计矢量LOGO

    [AI]:借助AI高效设计矢量LOGO

    工具 / 原料

    • AI 生成工具:即梦 AI、logo-ai.cn
    • 图像编辑工具:Adobe Photoshop(PS)、搞定设计(在线平台)

    方法 / 步骤

    Step 1:精准定位需求,生成优质提示词
    • 根据品牌定位(如科技感、艺术)结合DS或豆包生成关键词,需包含 主体风格、色彩、构图 三大要素。明确要求 “极简线条风格”,避免复杂元素干扰。
    • 创作之前,可以参考logo-ai.cn生成的风格。
    Step 2:用 AI 工具批量生成初稿
    • 选择工具并生成:通过 “即梦 AI” 生成纯白背景的 LOGO 图像。技巧:若结果不理想,微调关键词(如补充 “几何图形”“剪影”)快速迭代。
    Step 3:字体设计与版权规避
    • AI 生成艺术字:确保字体风格与 LOGO 匹配,生成后可对笔画进行抽象调整(如弧度、断点)。版权安全提示:优先选择无商业版权风险的 AI 生成字体,避免使用系统自带字体。
    Step 4:后期优化与格式输出
    • 背景处理:用 PS 或 “搞定设计” 裁剪 LOGO,将背景设为 镂空格式(无填充底色)。
    • 调色与层次感:通过混合模式添加光影效果,提升 LOGO 质感。
    • 文件保存:保留原始工程文件(如 PSD),方便后续修改。o 输出带 Alpha 通道的 PNG 文件(透明背景),适配多场景使用。