digitoimistodude/air-helper

插件为WordPress项目提供了有用的函数和修改。

3.0.9 2024-09-25 07:58 UTC

README

Packagist GitHub contributors Build Status for PHP 8.3 Build Status for PHP

Air helper为WordPress项目提供有用的函数和修改。所有修改均为Dude的个人偏好。插件旨在与我们的Air light主题一起使用,但即使没有它也可以正常工作。

目录

请注意在使用之前

Air helper和Air light用于开发,因此这些更新非常频繁。通过使用这些代码库,您同意在没有预先警告的情况下,任何事情都可能改变方向。

功能

本地化和Polylang支持

Air helper为广泛使用的Polylang函数添加了后备方案,因此您可以在项目当时不需要Polylang或多语言支持的情况下使用这些事件。如果客户稍后需要多语言支持,这将节省大量时间。

请参考下面的部分和函数,了解如何使用翻译字符串。

注册字符串

所有字符串都需要注册在一个localization.php文件中,并通过一个数组传递给air_helper_pll_register_strings

如下所示。

add_filter( 'air_helper_pll_register_strings', function() {
  return [
    // General
    'General: Read more' => 'Read more',

    // Footer
    'Footer: Back to top' => 'Back to top',
  ]
} );

字符串翻译的REST API支持

默认情况下,当在REST请求内部运行时,字符串翻译函数(如ask__())无法按预期工作,因为Polylang不支持它。您可以通过设置REST请求的lang参数并使用钩子启用该功能来启用支持。

add_filter( 'air_helper_pll_enable_rest', '__return_true' );

图片懒加载

Air-helper支持tuupola/lazyload(旧版)、vanilla-lazyload(旧版)和native-lazyload(原生,当前)。Air-light版本6.1.8(2020-10-20)之前支持由tuupola/lazyload提供的lazyload.js,该版本仍由air-helper支持,但不再由air-light主题提供。

请参考函数了解如何使用图片懒加载。

禁用视图

在大多数客户项目中,不需要WordPress自动创建的一些视图。与其关心这些,不如显示404页面。

目前禁用的视图包括:

  • 存档:标签、分类、日期、作者
  • 其他:搜索

启用特定视图的过滤器回退,使用代码 add_filter( 'air_helper_disable_views_{VIEW}', '__return_false' ); 或对所有视图使用 remove_action( 'template_redirect', 'air_helper_disable_views' )

函数

存档相关

  • get_posts_array( $args, $return_key ) 获取键=>标题数组中的文章。
  • get_post_years() 获取有文章发布的年份。
  • get_post_months_by_year( $year, $post_type ) 获取特定年份中的文章月份。默认为当前年份。

检查

  • post_exists_id( $post_id ) 通过ID检查文章是否存在。
  • has_content( $post_id ) 检查文章是否有主要内容。默认为当前文章ID。
  • has_children( $post_id, $post_type ) 检查文章是否有子页面。默认为当前文章ID。

图片懒加载

  • vanilla_lazyload_div( $attachment_id, $fallback ) 在懒加载div中输出图像。
  • vanilla_lazyload_tag( $attachment_id, $fallback ) 在懒加载img标签中输出图像。
  • native_lazyload_tag( $attachment_id, $args ) 在原生懒加载标签中输出图像。

后备是可选的。默认后备是主题设置中的默认特色图像。

参数是可选的。它是一个包含“后备”、“尺寸”和“类”的数组。类可以设置以给图像标签添加特定的类,如果不设置则不添加类。

如果您想将懒加载div或标签作为字符串获取,可以在函数前加上前缀 get_

本地化

  • ask__( $key, $lang ) 通过键返回字符串。默认为当前语言。
  • ask_e( $key, $lang ) 通过键输出字符串。默认为当前语言。
  • asv__( $key, $lang ) 通过值返回字符串。默认为当前语言。
  • asv_e( $key, $lang ) 通过值输出字符串。默认为当前语言。

分页

  • get_next_page_id( $post_id ) 获取下一页的ID。默认为当前页。
  • get_prev_page_id( $post_id ) 获取上一页的ID。默认为当前页。

杂项

  • get_icons_for_user( $args) 获取用户可用的图标列表。返回从定义的主题目录(默认 svg/foruser/)中获取的图标数组。
  • wp_parse_args_dimensional( $a, $b ) 类似于 wp_parse_args(),但扩展到可以处理多维数组。
  • get_the_sentence_excerpt( $length, $excerpt ) 获取具有自定义句子长度的摘要。默认为三句话和当前文章。
  • get_primary_category( $post_id ) 获取指定或当前文章的主要类别。

修改后的WordPress功能

Air Helper修改了WordPress和各种插件默认行为,使其更适合客户项目,强制应用我们的偏好,并确保所有不必要的信息都被隐藏或无法访问。

所有这些修改都可以通过钩子禁用或更改。所有修改都位于inc目录下。

要了解修改的确切工作方式和如何禁用它,请搜索包含以下列表项的inc目录中文件的注释部分。

管理员

  • 清理我们通常不需要的行政菜单项。
  • 从行政菜单中移除插件页面,除非用户具有特定域名或用户元中的覆盖。
  • 对所有用户隐藏ACF,除非用户具有特定域名或在用户元中覆盖 _airhelper_admin_show_acf 的值为 true
  • 清理行政栏。
  • 在行政栏中添加环境标记。
  • 移除欢迎面板。
  • 从仪表板中移除一些盒子。
  • 将我们的新闻和支持小部件添加到仪表板。还要确保它始终按顺序排在第一位。
  • 从仪表板中移除一些通知。
  • 从行政页脚中移除更新WP文本。
  • 隐藏所有WP更新提示。

安全性

  • 通过 ?author=(init) URL停止用户枚举。
  • 在登录表单中添加蜜罐。注意!这不会取代服务器中的适当安全工具,请考虑使用Fail2Ban或类似工具。
  • 更改登录失败消息。
  • 从网站健康检查中移除托管提供商特定的信息。

ACF

  • 对所有用户隐藏ACF,除非用户电子邮件地址中有特定域名或用户元 _airhelper_admin_show_acf 的值为 true
  • 如果.env文件中定义了ACF_PRO_KEY,则自动尝试激活专业版。

存档

  • 删除存档标题前缀。通过使用remove_filter( 'get_the_archive_title', 'air_helper_helper_remove_archive_title_prefix' )禁用。

SEO框架

  • 设置默认设置值。

Yoast

  • 将Yoast SEO插件元框优先级设置为低。

评论

  • 为唯一可识别的文章添加pingback URL自动发现标题。

自定义

  • 删除自定义CSS。

Gravity Forms

  • 允许Gravity Forms隐藏标签以添加占位符。

Imagify

  • 禁用管理栏菜单。
  • 禁用.webp转换。
  • 从.env获取Imagify API密钥。
  • 调整大图像大小并设置最大宽度。
  • 将优化级别设置为正常。

电子邮件地址编码器

  • 隐藏所有始终显示的电子邮件地址编码器通知。

邮件

  • 强制必要的SendGrid设置。
  • 强制wp_mail函数中的地址,以便测试电子邮件不会发送到客户。
  • 如果SendGrid未激活或配置,则显示通知。

媒体

  • 自定义上传文件夹为media/,而不是默认的content/uploads/。

REST API

  • 禁用REST API用户端点。

TinyMCE

  • 默认显示TinyMCE第二行编辑工具。
  • 从编辑器中删除一些Tiny MCE格式。

杂项

  • 禁用表情符号。
  • 从标题中删除不想要的HTML标签。
  • 添加对post_title和term_name(äöå)正确UTF8排序的支持。
  • 将instant.page即时预加载脚本添加到页脚。

安装

下载最新版本作为zip包,并将其解压到您的插件目录中。最新版本

或者,使用composer安装,在项目目录中运行命令composer require digitoimistodude/air-helper,或将"digitoimistodude/air-helper":"dev-master"添加到您的composer.json require。

更新

新版本发布时,更新将自动分发。

变更日志

更改日志可以在发布页面找到。

贡献

如果您对该插件有任何想法或发现了问题,请告诉我们。在贡献想法或报告有关“缺失”功能或此类问题性质的问题之前,请阅读请注意部分。非常感谢。