分类: 编码

  • WordPress限制文章修订版本数量

    1. 为什么要限制文章修订版本?

    WordPress 默认会在每次保存或更新文章时创建一个修订版本。这在编辑过程中可以提供历史记录,方便回滚到之前的版本。然而,如果不加限制,数据库会累积大量的修订版本,可能会影响网站性能。因此,限制修订版本的数量可以减少数据库冗余,提高查询效率。

    2. 通过 wp-config.php 限制修订版本数量

    WordPress 允许通过 wp-config.php 文件限制文章的修订版本数量。

    步骤

    1. 打开 WordPress 安装目录 通过 FTP 或 SSH 访问 WordPress 站点的根目录。
    2. 编辑 wp-config.php 文件 使用文本编辑器打开 wp-config.php 文件。
    3. 添加以下代码wp-config.php 文件中
    // Enable WordPress article revisions, limited to 3
    define( 'WP_POST_REVISIONS', 3 );
    1. 保存并上传 保存修改后的 wp-config.php 文件,并上传回服务器。

    3. 其他可选设置

    • 完全禁用修订版本 如果不想存储任何修订版本,可以使用以下代码:
    // Disable WordPress article revisions
    define( 'WP_POST_REVISIONS', false );

    这将禁止 WordPress 存储任何修订版本,仅保留自动保存的版本。

    • 完全启用修订版本 如果想存储每个修订版本,可以使用以下代码:
    // Enable WordPress article version revision
    define( 'WP_POST_REVISIONS', true );

    这将启用 WordPress 存储存储每个修订版本

    • 设置更高或更低的限制 如果需要更改存储的修订版本数量,只需修改 WP_POST_REVISIONS 的值。例如,存储 5 个修订版本:
    // Enable WordPress article revisions, limited to 5
    define( 'WP_POST_REVISIONS', 5 );
  • 如何从 Git 历史中彻底删除误上传的敏感信息

    如果你不小心提交了包含敏感信息(如 API 密钥、数据库密码)的 .env 文件到 Git 仓库,需要 彻底删除 这个文件及其历史记录,以防泄露。以下是完整的处理步骤。

    1. 立即更改敏感信息

    重要! .env 文件中的密码和密钥可能已经泄露,立即更改相关凭据,如:

    • 数据库密码
    • API 密钥
    • OAuth 令牌
    • SSH 私钥

    2. 确保 .env 文件不会再被提交

    .env 添加到 .gitignore,防止再次提交:

    echo ".env" >> .gitignore
    git add .gitignore
    git commit -m "Add .env to .gitignore"

    3. 从 Git 历史中删除 .env 文件

    推荐方式:使用 git filter-repo

    git filter-repo 是 Git 官方推荐的工具,速度快且更安全。

    3.1 安装 git filter-repo

    如果尚未安装,可以运行:

    pip install git-filter-repo

    3.2 彻底删除 .env 文件

    在 Git 仓库根目录运行:

    git filter-repo --path .env --invert-paths

    参数解析:

    • --path .env:指定要删除的文件
    • --invert-paths:删除所有提交中 .env 文件的历史记录

    4. 验证 .env 是否彻底删除

    检查 .env 是否仍在历史记录中:

    git log -- .env
    git log -S"你的敏感信息"

    如果没有返回任何记录,说明 .env 文件及其历史已经删除。

    5. 强制推送到远程仓库

    由于改写了 Git 历史,必须使用 --force 强制推送:

    git push origin main --force

    注意:

    • 所有协作者 需要重新克隆仓库,否则 git pull 会失败。
    • 确保 .env 不会再提交(参考步骤 2)。

    6. 清理本地和远程的旧引用

    如果 .env 可能出现在其他分支,确保所有分支都清理干净:

    git push origin --all --force

    7. 确保 .env 在远程仓库中消失

    前往 GitHub / GitLab 仓库,检查 .env 是否仍然可见:

    • 如果仍然存在,可能是缓存未清除,联系托管平台的技术支持要求彻底清除。

    8. 预防未来类似问题

    • 使用 .gitignore 确保敏感文件不会进入 Git 版本控制
    • 使用环境变量管理工具(如 dotenv)存储敏感数据
    • 定期检查 Git 提交,避免误提交敏感信息:
    git log -p | grep "API_KEY"

    重要提醒

    • 备份代码:执行 git filter-repo 之前,建议 备份仓库,以防误删。
    • 通知协作者:如果有其他人参与该仓库开发,他们需要重新克隆仓库,否则会遇到同步问题。
    • 合规性问题:如果泄露的是 用户数据,请考虑是否需要上报安全事件
    • 对于 GitHub 仓库:如果 .env 仍然可见,可以尝试 GitHub API 请求删除缓存或联系 GitHub 支持。
    • 对于 GitLab:使用 git gc --prune=now 清理本地仓库,并在 GitLab 管理面板中触发仓库垃圾回收。
    • 企业环境:如果 Git 服务器由企业管理可与管理员协商执行全局清理。
  • 通过关闭第一篇文章评论来防止 WordPress 自动化垃圾评论

    网站刚上线,默认的第一篇文章(“Hello World”)就涌入了大量垃圾评论这并非个例,而是许多WordPress站点初期都会面临的问题,在 WordPress 站点中默认的第一篇文章(通常是“Hello World”)往往会成为垃圾评论的主要目标。许多站长在搭建新站点时,可能会忽略这一点,导致网站在上线初期就受到垃圾评论的侵扰。分析第一篇文章易受攻击的原因,并提供有效的解决方案,帮助您减少垃圾评论,提升网站安全性和用户体验。

    1. 为什么 WordPress 第一篇文章容易受到垃圾评论?

    WordPress 安装完成后,默认会生成一篇标题为 “Hello World” 的示例文章。这篇文章通常具有以下特点,使其成为垃圾评论的高发区域:

    文章 ID 是最小的,容易被机器人扫描

    • WordPress 文章的 ID 号是按顺序分配的,而第一篇文章的 ID 通常是 1。
    • 许多垃圾评论机器人会自动扫描 ID 为 1 的文章,并尝试发送垃圾评论。

    默认文章通常不会删除或修改

    • 许多站长搭建网站后,可能不会立即删除或修改默认文章。
    • 这篇文章往往是公开可见的,容易被垃圾评论者利用。

    WordPress 站点刚建立时安全防护较弱

    • 新站点通常没有安装防垃圾评论插件,如 Akismet 或 CAPTCHA,导致垃圾评论可以轻松提交。
    • 由于管理员可能尚未设置评论审核规则,垃圾评论可能会直接显示在网站上,影响网站的信誉和形象。

    机器人针对默认内容进行批量评论

    • 许多垃圾评论机器人专门针对 WordPress 站点的默认文章,批量发布广告、恶意链接或欺诈信息。
    • 这些垃圾评论不仅影响用户体验,还可能损害网站的 SEO 排名。

    2. 如何手动关闭第一篇文章的评论?

    登录 WordPress 后台

    找到第一篇文章

    1. 在后台左侧菜单栏中,点击 “文章” -> “所有文章”。
    2. 找到 默认的第一篇文章(通常是“Hello World”)
    3. 点击文章标题,进入文章编辑页面。

    关闭评论功能

    1. 在文章编辑页面,找到 “讨论” 选项(如果没有看到“讨论”选项,请点击右上角的“显示选项”,勾选“讨论”)。
    2. 取消勾选 “允许评论” 和 “允许引用通告和通知”。
    3. 点击 “更新” 按钮,保存更改。

    完成以上操作后,该文章的评论功能将被完全禁用,任何访客都无法再对其进行评论。

  • WordPress 站点中添加 Google 搜索功能

    在 WordPress 站点中添加 Google 搜索功能

    尽管 WordPress 本身提供了搜索功能,但 Google 搜索能够提供更强大、更精准的结果,特别是当你希望在站内搜索时能够通过 Google 来过滤信息。这对于提升用户体验非常有用,尤其是在站点内容非常庞大的情况下。

    1. 添加 Google 搜索表单

    要在 WordPress 中添加 Google 搜索框,你只需要一个 HTML 表单,将搜索请求发送到 Google 的搜索页面。以下是实现这一功能的代码:

    <form action="https://www.google.com/search" method="get" target="_blank" style="display: flex; align-items: center; max-width: 500px; width: 100%; margin: 0 auto;">
        <input type="hidden" name="sitesearch" value="www.qixinlee.com"> <!-- 替换为你的网站 -->
        <input type="text" name="q" placeholder="输入搜索关键词" required style="padding: 14px 20px; font-size: 16px; width: 100%; border: 1px solid #ccc; border-radius: 3px; outline: none; margin-right: 10px;"> <!-- 增加右边距 -->
        <button type="submit" style="background-color: #333; border: none; color: white; cursor: pointer; padding: 8px 16px; font-size: 16px; border-radius: 3px;">
            通过 Google 进行搜索
        </button>
    </form>

    2. 将代码嵌入到你的 WordPress 站点

    将这段代码插入到你的 WordPress 站点的合适位置。

    使用自定义 HTML 小工具

    • 登录到 WordPress 后台,进入 外观 -> 编辑
    • 添加一个 自定义 HTML 小工具,并将代码粘贴进去。
    • 保存并发布,你的 Google 搜索框就会出现在页面上。

    通过添加一个简单的 Google 搜索表单,用户可以更方便地在你的 WordPress 站点上进行搜索。与默认的站内搜索相比,Google 搜索能够提供更准确和更快速的结果

  • WordPress添加 Google Analytics站点分析

    WordPress安装 Google Analytics 代码

    准备工作:

    • 拥有 Google Analytics 账户
      • 前往 Google Analytics 网站注册账户。
      • 创建一个 GA4 属性,并获取您的数据流 ID(以 “G-” 开头)。
    • 备份您的 WordPress 网站:
      • 在编辑任何主题文件之前,务必备份网站,以防出现意外情况。

    安装步骤:

    1. 获取 Google Analytics 代码:

    • 登录您的 Google Analytics 账户。
    • 选择您的 GA4 属性。
    • 点击“管理” -> “数据流”。
    • 选择您的网站数据流。
    • 在“标记说明”部分,找到您的 Google Analytics 代码。
    • 记录下您的 “G-XXXXXXXXXX” 的数据流 ID。

    2. 编辑 functions.php 文件(手动添加代码):

    • 将以下代码片段复制并粘贴到当前主题的 functions.php 文件中。
    • 将代码粘贴到 functions.php 文件的末尾,并将 “G-XXXXXXXXXX” 替换为您的数据流 ID:
    // Google analytics
    function add_google_analytics() {
    ?>
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    
    gtag('config', 'G-XXXXXXXXXX');
    </script>
    <?php
    }
    add_action('wp_head', 'add_google_analytics');

    3. 验证 Google Analytics 代码:

    • 清除 WordPress 缓存和浏览器缓存。
    • 访问您的网站,并查看源代码(右键单击页面,选择“查看页面源代码”)。
    • 确认 Google Analytics 代码已正确添加到 <head> 部分。
    • 返回您的 Google Analytics 账户,查看“实时”报告,确认数据是否正在收集。
  • WordPress 中添加预计阅读时间功能

    如何通过将以下代码片段添加到 WordPress 主题的 functions.php 文件中,来为您的文章显示预计阅读时间。可以帮助您的读者了解每篇文章所需的大致阅读时间。

    1. 找到您的 functions.php 文件

    • 编辑到您当前使用的主题目录,通常位于 wp-content/themes/your-theme-name/
    • 找到 functions.php 文件并使用文本编辑器打开它。

    2. 将代码片段添加到 functions.php

    将以下代码复制并粘贴到 functions.php 文件的末尾:

    // Estimated reading time
    function article_reading_time($content) {
        if (is_single()) { // Only display on single article pages
            // Remove HTML tags, keep content inside code blocks
            $text = strip_tags($content, '<pre><code>'); 
            
            // Keep only Chinese, English characters, and numbers; remove other characters
            $text = preg_replace('/[^a-zA-Z0-9\x{4e00}-\x{9fa5}]/u', '', $text); 
    
            // Calculate word count (only count Chinese, English, and number characters)
            $word_count = mb_strlen($text, 'UTF-8'); 
    
            // Calculate estimated reading time, assuming 300 words per minute
            $reading_time = ceil($word_count / 300);
    
            // Display estimated reading time with updated colors
            $output = '<div class="post-meta" style="padding: 12px; background: #FFF4E5; border-left: 5px solid #FF7300; 
                       margin-bottom: 15px; font-size: 16px; line-height: 1.6; color: #A74C00;">';
            $output .= '<strong>预计阅读时间:</strong> ' . $reading_time . ' 分钟';
            $output .= '</div>';
    
            return $output . $content; // Insert reading time before article content
        }
        return $content;
    }
    add_filter('the_content', 'article_reading_time');
    
    代码解释:
    • 这段代码会在每篇文章的开头显示预计阅读时间。
    • article_reading_time 函数会提取文章中的中文、英文和数字字符,然后根据每分钟阅读 300 个字的假设,计算出预计阅读时间。
    • 最后,这段代码会在文章内容的上方显示预计阅读时间。

    3. 保存 functions.php 文件

    • 保存对 functions.php 文件的更改。

    4. 查看效果

    现在,您可以访问任意一篇文章页面,您应该能够看到每篇文章上方会显示一个类似这样的标签:

    预计阅读时间:X 分钟

    这里的 X 会根据每篇文章的字数动态变化。