针对 Two Factor 插件的 WordPress.org 特定自定义
设置本地 WP 多站点。
将此代码添加到您的wp-config.php
:
Define( 'WP_ENVIRONMENT_TYPE', 'local' );// 模仿 w.org 测试 wporg-two-factorglobal $supes, $super_admins;$supes = array('your_username');$super_admins = array_merge( $supes );function is_special_user( $user_id ) {$user = get_userdata( $user_id );return in_array( $user->user_login, $GLOBALS['supes'], true ); }
将此代码添加到您的wp-content/mu-plugins/0-sandbox.php
:
require_once WPMU_PLUGIN_DIR。 '/wporg-mu-plugins/mu-plugins/loader.php';// 启用虚拟提供程序以方便本地测试。add_filter( 'two_factor_providers', function( $providers ) {$providers['Two_Factor_Dummy'] = TWO_FACTOR_DIR . 'providers/class-two-factor-dummy.php';返回$providers; }, 100); // 必须在 wporg-two-factor 之后运行。// 模仿 `mu-plugins/main-network/site-support.php`.function add_rewrite_rules() {// 例如,https://wordpress.org/support/users /foo/edit/account/add_rewrite_rule(bbp_get_user_slug() . '/([^/]+)/' 。 bbp_get_edit_slug() '/account/?$','index.php?' '=$matches[1]&' . ); }add_action( 'init', __NAMESPACE__ . 'add_rewrite_rules' );
安装、构建和激活wporg-support
主题。
安装two-factor-provider-webauthn
、 bbPress
和Gutenberg
。如果我们碰巧使用任何新功能,您可能需要克隆和构建Gutenberg
的trunk
分支。
git clone
到wp-content/plugins
并按照其设置说明进行操作。
git clone
到wp-content/plugins
中
cd wporg-two-factor && composer install
yarn && yarn workspaces run build
设置环境工具yarn setup:tools
启动环境: yarn wp-env start
网络激活所有插件。
如果你想改变 JS,那么yarn workspaces run start
打开wp-admin/options-general.php?page=bbpress
并取消选中Prefix all forum content with the Forum Root slug (Recommended)
,然后保存。
访问 https://example.org/users/{username}/edit/account/ 查看自定义设置 UI。如果您收到404
错误,请访问wp-admin/options-permalinks.php
,然后重试。
前端单元测试可以使用npm run test:unit
或npm run test:unit:watch
命令在/settings
中运行。
后端单元测试可以使用composer run test
或composer run test:watch
命令来/
。 composer run coverage
将生成覆盖率报告。
请私下向 WordPress HackerOne 计划报告任何潜在的安全问题。