针对 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 计划报告任何潜在的安全问题。