=== WPJAM Basic === Contributors: denishua Donate link: https://wpjam.com/ Tags: WPJAM, Memcached, 性能优化 Requires at least: 6.7 Requires PHP: 7.4 Tested up to: 6.9 Stable tag: trunk License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html WPJAM Basic 是我爱水煮鱼博客多年来使用 WordPress 来整理的优化插件,WPJAM Basic 除了能够优化你的 WordPress,也是 WordPress 果酱团队进行 WordPress 二次开发的基础。 == Description == **WPJAM Basic 可能和一些插件可能存在冲突,使用如有问题,请提供 log,才方便帮忙排查,获取冲突的 log 的方式:https://blog.wpjam.com/m/how-to-debug-wordpress/。** WPJAM Basic 是我爱水煮鱼博客多年来使用 WordPress 来整理的优化插件,WPJAM Basic 除了能够优化你的 WordPress ,也是 WordPress 果酱团队进行 WordPress 二次开发的基础。 WPJAM Basic 主要功能,就是去掉 WordPress 当中一些不常用的功能,比如文章修订等,还有就是提供一些经常使用的函数,比如获取文章中第一张图,获取文章摘要等。 如果你的主机安装了 Memcacached 等这类内存缓存组件和对应的 WordPress 插件,这个插件也针对提供一些针对一些常用的插件和函数提供了对象缓存的优化版本。 详细介绍和安装说明: http://blog.wpjam.com/project/wpjam-basic/。 除此之外,WPJAM Basic 还支持多达十七个扩展,你可以根据自己的需求选择开启: | 扩展 | 简介 | | ------ | ------ | | 文章数量 | 设置不同页面不同的文章列表数量,不同的分类不同文章列表数量。 | | 文章目录 | 自动根据文章内容里的子标题提取出文章目录,并显示在内容前。 | | 相关文章 | 根据文章的标签和分类,自动生成相关文章,并在文章末尾显示。 | | 用户角色 | 用户角色管理,以及用户额外权限设置。 | | 统计代码 | 自动添加百度统计和 Google 分析代码。 | | 百度站长 | 支持主动,被动,自动以及批量方式提交链接到百度站长。 | | Bing 站长工具 | 实现提交链接到 Microsoft Bing,让博客的文章能够更快被 Bing 收录。 | | 移动主题 | 给移动设备设置单独的主题,以及在PC环境下进行移动主题的配置。 | | 301 跳转 | 支持网站上的 404 页面跳转到正确页面。 | | 简单 SEO | 设置简单快捷,功能强大的 WordPress SEO 功能。 | | SMTP 发信 | 简单配置就能让 WordPress 使用 SMTP 发送邮件。 | | 常用短代码 | 添加 list table 等常用短代码,并在后台罗列所有系统所有短代码。| | 文章浏览统计 | 统计文章阅读数,激活该扩展,请不要再激活 WP-Postviews 插件。| | 文章快速复制 | 在后台文章列表,添加一个快速复制按钮,点击可快复制一篇草稿用于新建。 | | 摘要快速编辑 | 在后台文章列表,点击快速编辑之后也支持编辑文章摘要。 | | Rewrite 优化 | 清理无用的 Rewrite 代码,和添加自定义 rewrite 代码。 | | 文章类型转换器 | 文章类型转换器,可以将文章在多种文章类型中进行转换。 | | 自定义文章代码 | 在文章编辑页面可以单独设置每篇文章 Head / Footer 代码。 | == Installation == 1. 上传 `wpjam-basic`目录 到 `/wp-content/plugins/` 目录 2. 激活插件,开始设置使用。 == Changelog == = 6.9.5 = * 新增古腾堡编辑器侧边栏插件渲染 * 去掉 jQuery UI Tab,使用 hashchange 实现 Tab 切换 * WPJAM_Field 没有 options 的 checkbox 的类型统一为 toggle * 开启多语言和新增函数 wpjam_translate * 新增函数 wpjam_register_widget 用于注册 Widget * 新增函数 wpjam_compress 和 wpjam_uncompress 用于加密和解密数据 * 新增函数 wpjam_column 支持获取多列 * 新增函数 wpjam_entries 可以将关联数组转换成索引数组 * 增强函数 wpjam_chart 支持图表各种操作 * 新增函数 wpjam_formula 解析数学表达式 * 新增函数 wpjam_calc 计算数学表达式 * 其他优化和bug修复 = 6.9 = * 新增函数 get_term_level * 新增函数 get_term_depth * 新增函数 wpjam_lines 处理文本转换成数组 * 新增函数 wpjam_hook,相比 add_filter 和 add_action 支持 check 和 nonce 参数 * 新增函数 wpjam_is,判断当前 query 是 is_main_query 并且还支持判断在哪些页面 * 新增函数 wpjam_matches,支持多条件匹配检测 * 新增函数 current_shortcode 和 doing_shortcode,用于 shortcode 获取和判断 * 新增 PHP 8.5 array_first 和 array_last 兼容 * wpjam_try 和 wpjam_catch 函数新增 :: 和 -> 模式的支持 * wpjam_value 函数新增 model 的支持 * wpjam_set 函数支持 [] 模式新增元素 * list_table_action 增加 update_setting 功能 * WPJAM_DB 和 list_table 支持 search_column * WP_Query 新增 sticky_posts 参数支持 * WPJAM_Args 新增 pick 方法 * WPJAM_Taxonomy 和 WPJAM_Meta_Option 新增 show_in_posts_rest 属性 * 后台 JS 新增 list_table_load 事件 = 6.8 = * 全面优化 wpjam_try / wpjam_catch 等高阶函数 * 全面优化 wpjam_cache 以及其他缓存相关的高阶函数 * 新增函数 wpjam_sort - 数组排序 * 新增函数 wpjam_if_error - 错误处理 * 新增函数 maybe_callback - 如果是回调,则执行,否则返回原数据 = 6.7 = * 新增函数 PHP 8.4 引入的 array_find、array_find_key、array_all、array_any * 新增函数 wpjam_exists * 新增函数 wpjam_slice * 新增函数 wpjam_toggle * 新增函数 wpjam_reduce * 新增函数 wpjam_bettwen = 6.6 = * 新增函数 wpjam_include - 加载文件 * 新增函数 wpjam_style 和 wpjam_script * 新增函数 get_user_field * 新增函数 wpjam_get_static_cdn * 新增函数 wpjam_throw * 新增函数 wpjam_lock * 新增函数 wpjam_add_pattern * 新增函数 wpjam_import * 新增函数 wpjam_export * 新增函数 wpjam_at * 新增函数 wpjam_add_at = 6.5 = * 使用注解的方式实现注册类支持能力 * 后台 List Table 新增操作时 views 自动更新 * 复选框字段支持开关模式 * 301跳转升级为链接跳转,并支持正则匹配。 * 使用 PHP 7.4 箭头函数优化代码 * 兼容 PHP 8 及以上版,优化使用 is_callable 和不接受 null 参数的函数 * 兼容 PHP 8 废弃在可选参数后声明强制参数 * 新增函数 wpjam_db_transaction - 数据库事务 * 新增函数 wpjam_call_for_blog - 多站点调用 * 新增函数 wpjam_load_pending * 新增函数 wpjam_diff * 后台 List Table 新增固定列功能 * WPJAM_Field 新增 render 回调函数 * 优化 wpjam_lazyload 函数 * 优化 wpjam_get_posts 和 wpjam_get_terms 函数 * 优化 WPJAM_DB 的缓存处理,支持 lazyload_key 和 pending_queue * 后台弹窗自动自适应大小 * 后台设置选项页面支持重置操作 = 6.4 = * 基于 PHP 7.4 重构 * 调整文件目录,将后台相关函数放到一个文件中。 * 后台插件页面可以在初始化之前设置页面的 data_type。 * 通过 current_theme_supports 来控制样式和脚本是否主题已经集成。 * WPJAM_Register 新增 re_register / register_sub 方法 * 后台 List Table 新增导出操作支持,列表 AJAX 返回更加细化 * 优化自定义文章类型和分类模式获取名称的方式 * 新增函数 wpjam_url - 根据目录获取 url * 新增函数 wpjam_has_bit / wpjam_add_bit / wpjam_remove_bit - 位运算 * 新增函数:wpjam_move / wpjam_get_all_terms / wpjam_html_tag_processor = 6.3 = * 「文章浏览」扩展支持设置文章初始浏览数 * 新增函数 wpjam_add_admin_load,实现后台功能按需加载 * 新增函数 base64_urldecode / base64_urlencode,实现 URL 安全的 Base64 编码和解码 * 新增函数 wpjam_generate_jwt / wpjam_verify_jwt, 实现 JWT 生成和验证 * WPJAM_Field 增加 before / after 属性,统一使用 button_field 作为各种按钮的自定义文本 * WPJAM_Register 继承 WPJAM_Args 来丰富功能 * WPJAM_Register 新增 init 参数,支持在 WordPress init 时回调 * WPJAM_Register 增加 add_hooks * WPJAM_Model 支持 meta_input 方法 * WPJAM_DB 新增 group_cache_key 属性,新增 query 方法 * 优化相关文章功能,支持最新 WP_Query 缓存机制 = 6.2 = * 新增函数 wpjam_match - 各种数据匹配 * 新增函数 wpjam_try / wpjam_call 处理异常 * 新增函数 wpjam_register_config / wpjam_get_config - 生成和获取全局配置接口 * 新增函数 wpjam_register_meta_option / wpjam_get_meta_options - 注册和获取 meta option。 * 新增函数 get_screen_option - 获取界面选项 * 新增函数 wpjam_add_option_section 向已有的设置页面添加标签页 * 新增函数 wpjam_tag,支持将文本加上某个标签和属性 * 新增函数 wpjam_date / wpjam_strtotime - 日期处理。s * 新增函数 wpjam_upload,用于统一处理文件上传 * 新增函数 wpjam_add_error_setting - 统一设置错误信息 * 新增 Class WPJAM_Attr / WPJAM_Tag,以及对应的函数,用于标签和属性处理 * 新增 Class WPJAM_Exception 支持将 wp_error 将异常抛出 * 新增 Class WPJAM_Args,作为所有有 args 参数类的基类,并实现 ArrayAccess, IteratorAggregate, JsonSerializable 等接口 * 新增 Trait WPJAM_Call_Trait,WPJAM_Items_Trat / WPJAM_Instance * 新增 WPJAM_Post / WPJAM_Term 的 update_callback 方法,支持同时更新文章和分类的本身字段和自定义字段 * WPJAM_JSON 支持 data_type 接口,用于前端自动完成 * WPJAM_Field 支持 data_type 的数据源联动处理,下拉菜单,单选和复选框都支持其他选项 * WPJAM_Field 新增 timestamp 组件,显示为时间,存储为时间戳 * WPJAM_Field 新增文件上传组件,实现无需经过媒体库直接上传 * 增强后台分类和标签设置,可以不进入分类和标签的详情编辑页,就可以更新所有信息 * CDN 支持其他扩展在后台也使用 CDN 链接,扩展支持设置支持所有图片扩展 * 如果文章内容是序列化的,去掉 wp_filter_post_kses 处理 * 多层分类支持多级联动显示字段 = 6.1 = * 接口请求的时候不显示 PHP 警告信息 * 菜单 summary 参数支持传递文件路径,程序会自动根据文件头信息 * WPJAM_Register 增加开关属性处理,支持注册时候自动开启和生成后台配置字段等能力 * 新增函数 wpjam_load_extends - 加载扩展 * 新增函数 wpjam_get_handler - Handler 获取和创建 * 新增函数 wpjam_load - Action 判断加载 * 新增函数 wpjam_var - 变量获取和存储 * 增强函数 wpjam_compare - 数据比较 * 新增函数 wpjam_register_data_type / wpjam_get_data_type * 新增函数 wpjam_get_post_type_setting / wpjam_update_post_type_setting * 新增函数 wpjam_get_taxonomy_setting / wpjam_update_taxonomy_setting * 新增函数 wpjam_add_post_type_field / wpjam_add_taxonomy_field * 新增 Class WPJAM_Option_Model - 所有设置页面的基类 * 新增 Class WPJAM_Register - 支持 group 和独立子类两种方式注册 * 新增 Class WPJAM_Meta_Option - 支撑所有 Meta 选项注册 * 函数 wpjam_register 新增 priority 参数 * 函数 wpjam_register_option 新增 field_default / menu_page 参数 * 增强 Class WPJAM_Option_Setting * 增强「文章浏览」扩展,支持批量增加浏览数 * 增强「相关文章」扩展,新增日期限制 * 完全重构 WPJAM_Field,通过子类把功能分拆,并支持 JSON Schema validate * 使用 wp_content_img_tag filter 改进 CDN 中图片处理。 = 6.0 = * object-cache.php 支持 6.0 的批量操作 * 优化「文章目录」扩展,使用ID进行锚点定位 * 「简单 SEO」 扩展支持设置唯一的 TDK * 新增登录界面去掉语言切换器功能 * 缩略图设置支持设置多张默认缩略图 * 增强 wpjam_send_json 数据处理能力 * 基于 WP 5.9 优化 lazy loading 处理 * 新增函数 wpjam_generate_verification_code * 新增函数 wpjam_verify_code * 新增 Class WPJAM_Fields - 表单渲染 * 增强 Class WPJAM_JSON,整合接口验证 * wpjam_fields 函数支持 wrap_tag 参数 * WPJAM_Field 新增 json schema 解析和验证功能 * WPJAM_Fields 新增 get_defaults 方法 * WPJAM_Page_Action 支持多个提交按钮 * WPJAM_List_Table 支持多个提交按钮 * 火山引擎 veImageX 也支持自动 WebP 转换 = 5.9 = * CDN 加速水印设置增加最小图片设置 * CDN 加速新增支持火山引擎的 veImageX * 解决部分博客插件冲突造成文章列表页空白的问题 * 解决 show_if 和默认 disabled 字段兼容问题 * 在文章列表页新增「上传外部图片」操作 * 全面实现后台文章和分类列表页 AJAX 操作 * 全面优化 CDN 加速功能,提供更多选项设置 * 新增函数 wpjam_lazyload - 后端懒加载 * 新增函数 wpjam_get_by_meta - 直接在 meta 表中查询数据 * 新增函数 wpjam_unserialize - 反序列化失败之后修复数据,再次反序列化 * 新增函数 wpjam_is_external_url - 判断外部链接和图片 * 新增函数 wpjam_map_meta_cap - 将新增的权限映射到元权限 * 新增和优化 Gravatar 加速和 Google 字体加速服务 * 新增 field 支持 minlength / maxlength 服务端验证 * WPJAM_Field 支持 is_boolean_attribute 的判断 * WPJAM_Page_Action 新增 validate 参数使支持字段验证 * 文章类型转换支持在文章列表页进行转换操作 * mu-img 图片点击支持放大显示 * 取消「前台不加载语言包」功能 = 5.8 = * 实现后台的文章列表和分类列表页 AJAX 操作 * 新增自定义表 Meta 查询 * 新增 WPJAM_Field 分组打横显示功能 * 新增 Class WPJAM_Bind - 用户社交账号绑定 * 新增 Class WPJAM_AJAX - 统一所有(包括后台) AJAX 处理 * 新增函数 wpjam_register_meta_type * 新增函数 wpjam_register_bind * 新增函数 wpjam_get_bind * 新增函数 wpjam_zh_urlencode = 5.7 = * WPJAM_Field 支持 required 后端判断 * 解决文章时间戳相同引起的排序问题 * 新增函数 wpjam_except * 新增函数 wpjam_get_taxonomy_query_key * 新增函数 wpjam_get_post_id_field * 新增函数 wpjam_get_term_id_field = 5.6 = * 跳过其他版本直接升级到 5.6 / WordPress 保持一致 * CDN 文件扩展设置和媒体库对应 = 5.2 = * 新增函数 wpjam_route 自定义路由 * 新增函数 wpjam_register_json 自定义 API 接口 * wpjam_add_menu_page 支持 load_callback 参数 * wpjam_register_option 支持自定义 update_callback 和 reset 选项 = 5.1 = * 支持腾讯云 COS 的 WebP 转换,节省流量 * 类型转换函数全部切换成强制类型转换 * CDN 后台媒体库只镜像图片 * CDN 远程图片功能上传到媒体库 * 支持停用 CDN,切换回使用本站图片 = 5.0 = * 缩略图设置支持应用到原生的缩略图中 * 新增图片的 $max_width 处理 * 新增函数 wpjam_query * 支持评论者头像存到 commentmeta 中 = 4.6 = * 优化反斜杠转义的处理 * 增强 class WPJAM_Cron = 4.5 = * 新增函数 wpjam_download_url - 下载远程图片 * 新增函数 wpjam_is_image - 判断当前链接是否为图片 * 新增函数 wpjam_register_list_table_action * 新增函数 wpjam_register_list_table_column * 新增函数 wpjam_register_page_action * 新增 Class WPJAM_User - 用户处理 = 4.4 = * 阿里云 OSS 支持水印和 WebP 图片格式转换 * WPJAM_Field 增加 show_if * Google 字体加速服务 和 Gravatar 加速服务支持自定义 = 4.3 = * 新增 wpjam_unicode_decode * 百度站长扩展支持快速收录 = 4.2 = * 新增函数 wpjam_get_current_platform() - 获取当前平台 * 全面提升插件的安全性 = 4.1 = * 常用短代码新增B站视频支持 [bilibili] * 经典编辑器标签切换优化 = 4.0 = * 新增函数 wpjam_is_json_request * 新增路径管理 Class WPJAM_Path 和对应函数 * 远程图片支持复制到本地再镜像到云存储选项 * 新增后台文章列表页搜索支持ID功能 * 新增后台文章列表页作者筛选功能 * 新增后台文章列表页排序选型功能 * 新增后台文章列表页修改特色图片功能 * 新增后台文章列表页修改浏览数功能 * 字段新增支持 name[subname] 方式的字段 * WPJAM_List_Table 新增拖动排序 = 3.0 = * 全 AJAX 操作后台 * 支持屏蔽 Gutenberg * 提供选项让用户去掉 URL 中 Category * 提供选项让用户上传图片加上时间戳 * CDN 功能更好支持缩图和 HTTPS * 新增「屏蔽Trackbacks」功能 * 新增屏蔽字符转码功能 * 新增屏蔽Feed功能 * 新增移除后台界面右上角的选项和帮助 * 新增 Google 字体加速服务 * 新增 Gravatar 加速服务 * 新增 object-cache.php 到 template 目录 * 新增「简单SEO」扩展 * 新增「短代码」扩展 * 新增「SMTP」扩展 * 新增「统计代码」扩展 * 新增「相关文章」扩展 * 新增「301跳转」扩展 * 新增「移动主题」扩展 * 新增「百度站长」扩展 * 新增「用户角色」扩展 * 新增「Rewrite优化」扩展 * 新增「文章数量」扩展 * 新增「摘要快速编辑」扩展 * 新增「文章快速复制」扩展 = 2.0 = * 初始版本直接来个 2.0 显得牛逼点