ideasonpurpose/wp-theme-init

WordPress 主题中使用的重复函数、过滤器和操作的通用基线。

v2.14.4 2024-07-23 20:47 UTC

README

版本:2.14.4

WordPress 主题中使用的重复函数、过滤器和操作的通用基线。

Packagist codecov Coverage Status Maintainability styled with prettier

包含的部分内容

  • Webpack 依赖项清单资源加载
    使用来自 ideasonpurpose/docker-buildDependency Manifest Plugin

    脚本将使用样式表的 "slug" 与其入口点名称结合进行排队。

    例如,如果主题目录为 ldco,以下清单条目将排队为 ldco-main

    {
      "main": {
        "files": {
          "main.js": "/wp-content/themes/ldco/dist/main-b4216f6b.js"
        }
      }
    }

    编辑器资源将使用适当的钩子进行排队;对于脚本,使用 enqueue_block_editor_assets;对于样式,使用 enqueue_block_assets。所有脚本都通过向包含的脚本标签添加 type="module" 作为 ESM 进行排队。

  • 其他修复和清理

    • 向 WordPress 控制台添加设计信用。
    • 从管理菜单栏中删除 "你好"。
    • 从 wp_head 中删除了大量垃圾。许多优化来自 Soil 插件
    • WordPress 将尝试从 save_post 钩子触发 webpack devServer 重新加载。
    • 覆盖 DISALLOW_FILE_EDIT 常量并阻止对 主题文件编辑器 的访问。
  • 显示包含WP_DEBUG 为 true 时,将在页面中附加显示所有包含的主题文件的 div。要禁用它,请使用包含以下内容的数组初始化类: ['showIncludes' => false]

  • 模板审计
    向页面管理中添加模板列,并在外观菜单中添加一个摘要表,显示哪些模板已分配给页面。

  • 记录用户最后登录时间 记录用户的最后成功登录并添加到 WordPress 管理员用户表中。

  • 重置元框顺序和可见性 向用户配置文件底部添加按钮,将重置用户_meta 中的所有元框顺序和可见性。

  • 启用和限制 WP_POST_REVISIONS 修订版设置为 6,这覆盖了 wp-config.php 中设置的任何常量。

  • 全局禁用评论 完全禁用评论和引用。要重新启用评论,请使用包含以下内容的数组初始化 ThemeInit 类:['enableComments' => true]

  • 删除 jQuery Migrate (可选)通过从 WordPress 依赖项列表中删除它来防止 jQuery Migrate 加载。要从删除 jquery-migrate,请使用包含以下内容的数组初始化 ThemeInit 类:['jQueryMigrate' => false]

  • 管理员分隔符 管理员分隔符已移动到自己的库: wp-admin-separators

  • 删除过期的登录Cookies 重复启动本地开发环境通常会导致本地主机(localhost)的Cookies中充满过期的wordpress_logged_in条目。一旦积累过多,本地服务器最终会因为不良请求而失败,并显示错误消息"您的浏览器发送了一个此服务器无法理解的请求。请求头字段的大小超过了服务器限制。" 如果识别到这个错误,可以使用浏览器开发者工具删除Cookies。但是,这通常并不常见。相反,wp-theme-init会在wp_login钩子中删除过期的登录Cookies,从而防止问题发生。仅在设置WP_DEBUG的开发环境中运行。

  • 媒体 将启用几个与媒体相关的功能。

    • 在调用ThemeInit()之前,可以通过定义一个JPEG_QUALITY常量来设置JPEG压缩值。数值将在0-100之间进行调整,然后传递给WordPress jpeg_quality过滤器。默认的JPEG_QUALITY82
    • 将使用高质量的Lanczos缩放过滤器对图像进行缩放。
    • 如果图像的文件大小可以至少减少75%,则所有图像上传都将重新压缩。
  • 搜索 对原生WordPress搜索进行一些改进

    • 短路长度小于2个字符的搜索查询
    • 将查询搜索重定向到/search/
    • 解决以点开头的搜索失败问题
  • SEO框架调整 我们对优秀的The SEO Framework插件进行了几个调整

    • 隐藏作者的姓名
    • 将元数据框移动到管理页面的底部
    • 在存档中显示第一篇帖子的默认图片

WordPress集成

依赖项清单处理旨在与WordPress 依赖提取Webpack插件一起工作。这省略了WordPress包含的一些脚本库的子集,并为每个入口点输出一个PHP片段,其中包含用于排队脚本的依赖项列表。

将被省略的WordPress脚本集列表在此列出,包括jquerylodashmomentreactreact-dom以及所有来自@wordpress命名空间的脚本。

开发

使用npm run test运行PHPUnit测试套件

 

由IOP提供

IOP Logo 此项目正在积极开发并在Ideas On Purpose的生产环境中使用。