alleyinteractive/wp-alleyvate

Alley 为 WordPress 网站提供的默认设置。

安装次数: 9,217

依赖: 0

建议者: 0

安全: 0

星级: 17

关注者: 23

分支: 2

开放性问题: 26

类型:wordpress-plugin


README

Alleyvate 包含为满足 Alley 质量标准而必需的 WordPress 网站的基础自定义和功能。

安装

使用以下命令安装最新版本

composer require alleyinteractive/wp-alleyvate

基本用法

Alleyvate 是一组独立的特性,默认情况下都启用。每个特性都有一个处理程序,网站可以使用 alleyvate_load_featurealleyvate_load_{$handle} 过滤器选择不启用个别特性。特性在 after_setup_theme 钩子上加载,所以您的过滤器必须在那时之前就位。

禁用特性

此插件的目的在于,所有特性都应该默认开启,除非有充分的理由将其关闭。例如,大多数网站都将希望开启 disable_comments 特性,除非网站实际使用了 WordPress 评论,在这种情况下应该将其关闭。

要禁用特性,请使用 alleyvate_load_{$feature_name} 过滤器并返回 false。例如,要告诉 Alleyvate 禁用评论

add_filter( 'alleyvate_load_disable_comments', '__return_false' );

特性

以下列出了每个特性的处理程序及其功能的描述。

cache_slow_queries

此特性将慢查询缓存/优化到数据库中以提高性能。默认启用,目前包括以下慢查询,并提供了相关的过滤器来禁用它们

  • alleyvate_cache_months_dropdown:文章列表表中选择月份的下拉菜单。

clean_admin_bar

此特性从管理栏中删除选定的节点。

disable_apple_news_non_prod_push

此特性在非生产环境中禁用向 Apple News 推送。这是通过设置 WP_ENVIRONMENT_TYPE 环境变量或 WP_ENVIRONMENT_TYPE 常量来确定的。

disable_attachment_routing

此特性完全从网站前端禁用 WordPress 附件页面。

disable_block_editor_rest_api_preload_paths

此特性通过禁用已同步模式的预加载(可重用块)来增强块编辑屏幕的稳定性和性能。通常,预加载会触发每个块的 the_content 过滤器以及额外的处理。这可能导致意外的行为和性能下降,尤其是在拥有数百个同步模式的网站上。值得注意的是,单个块中的错误可能会在所有块编辑屏幕中传播。禁用预加载使系统更具弹性——更不容易发生级联故障——从而提高整体管理员稳定性。有关 WP 核心如何实现预加载的技术细节,请参阅 wp-admin/edit-form-blocks.php。

disable_comments

此特性完全禁用 WordPress 评论,包括发布、查看、编辑、列出、计数、修改设置或访问与评论相关的 URL 的能力。

disable_custom_fields_meta_box

此特性从文章编辑器中删除自定义字段元框。

disable_dashboard_widgets

此特性从仪表板中清除杂乱。

disable_deep_pagination

此特性默认将分页查询限制为最多 100 页。此值可以使用 alleyvate_deep_pagination_max_pages 过滤器进行筛选,或通过将 __dangerously_set_max_pages 参数传递给 WP_Query

// An example.
$query = new WP_Query(
  [
    'paged' => 102,
    '__dangerously_set_max_pages' => 150,
  ]
);

disable_file_edit

此特性防止直接从管理员中编辑主题和插件。

此类编辑可能会引入意外的和未记录的代码更改。

disable_pantheon_constant_overrides

此功能防止 Pantheon 环境强制 CLI 和 Cron 运行使用 WP_HOMEWP_SITEURL 常量,这些常量有时会导致这些环境使用不安全的协议。

disable_password_change_notification

此功能禁用向网站管理员发送密码更改通知电子邮件。

disable_site_health_directories

此功能禁用对 WordPress 目录及其大小信息的网站健康检查。

disable_sticky_posts

此功能完全禁用 WordPress 粘贴帖子功能,包括设置和查询粘贴帖子的能力。

disable_trackbacks

此功能禁用 WordPress 发送或接收引用或pingback。

force_two_factor_authentication

此功能强制具有 edit_posts 权限的用户使用两步认证(2fa)来保护其账户。

login_nonce

此功能在登录表单中添加一个一次性令牌,以防止 CSRF 攻击。

prevent_framing

此功能通过输出 X-Frame-Options: SAMEORIGIN 标头,防止网站被其他网站框架。可以通过过滤 alleyvate_prevent_framing_disable 返回 true 来禁用此标头。可以通过使用 alleyvate_prevent_framing_x_frame_options 过滤器来过滤标头的值。

该功能还可以通过过滤 alleyvate_prevent_framing_csp 返回 true 来输出一个 Content-Security-Policy 标头而不是 X-Frame-Options。默认情况下,它将输出 Content-Security-Policy: frame-ancestors 'self'。可以通过使用 alleyvate_prevent_framing_csp_frame_ancestors 过滤器来过滤允许的 frame-ancestors。可以使用 alleyvate_prevent_framing_csp_header 过滤器过滤整个标头。

redirect_guess_shortcircuit

此功能阻止 WordPress 试图为 404 请求猜测重定向 URL。

redirect_guess_404_permalink() 的底层行为通常会让客户感到困惑,而且在大网站上的数据库查询效率低下。

remove_shortlink

此功能从网站的头部移除短链接。默认情况下,WordPress 会向网站头部添加一个短链接,但大多数网站并不使用它。

user_enumeration_restrictions

此功能要求用户登录后才能访问关于注册用户的公开可访问数据。其处理函数为 user_enumeration_restrictions

WordPress 核心认为 "用户名或用户 ID 不是私人或安全信息",因此允许通过其一些 API 列出用户。

我们的客户通常不希望他们的网站上注册用户的信息被发现;此类列表甚至可能泄露 Alley 与客户的关系。

关于

许可证

GPL-2.0-or-later

维护者

Alley Interactive