Two Factor プラグインの WordPress.org 固有のカスタマイズ
ローカルの WP マルチサイトをセットアップします。
このコードをwp-config.phpに追加します。
define( 'WP_ENVIRONMENT_TYPE', 'local' );// wporg-two-factorglobal をテストするために w.org を模倣 $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';return $providers;
}, 100 ); // wporg-two-factor _after_ を実行する必要があります。// `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 https://github.com/WordPress/two-factor/ を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 プログラムに報告してください。