尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證easyQ – WordPress Q&A plugin built from blocks. A port of Question2Answer with voting, best answers, points, moderation, categories, tags and search. No plugin CSS, styled by your block theme. Privacy by default.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A complete question and answer community for WordPress, built from blocks.
Visitors ask questions, the community answers, comments and votes, and the asker picks the best answer. easyQ brings the proven feature set of Question2Answer 1.8.8 to WordPress, rebuilt the WordPress way: every page is a block template, every part of it a block, and your theme decides how it looks.
Status: early development, not ready for live sites yet. Asking, answering, voting, moderation, profiles, all Q&A pages, the settings screen, the category management, the moderation list, points, user titles, user fields, the dashboard and the maintenance tools work. Emails and notifications, the privacy tools and translations are still to come, see what is next.
easyQ is built in phases, see the phase plan:
easyQ is not in the plugin directory yet. To try it on a test site:
npm run plugin-zip), or start the bundled development site with wp-env./questions/ on your site. Add the Q&A pages to your menu with the Navigation
block, and adjust the page templates under Appearance → Editor → Templates.easyQ is developed with the help of Claude, an AI assistant by Anthropic. Claude helps above all with code reviews, tests and documentation, which makes development much easier and a lot faster. Every change, whoever wrote it, has to pass the same checks before it is published: the WordPress coding standards, static analysis at the strictest level, unit, integration and end-to-end tests with accessibility checks, and the official Plugin Check.
The full mapping of Question2Answer features to WordPress is documented in docs/feature-mapping.md, the public hooks in docs/hooks.md and the REST API in docs/rest-api.md.
composer install
npm install
npm run build
npm run env:start
The development site runs at http://localhost:8888, the test site at
http://localhost:8889 (user admin, password password). They are two separate
wp-env environments: .wp-env.json for development and .wp-env.test.json for the
integration and end-to-end tests, which reset its content. Run wp-env commands for the
test site with npm run env:test -- <command>, e.g. npm run env:test -- run cli wp plugin list.
| Command | Purpose |
|---|---|
composer lint | PHP coding standards (WPCS, PHPCompatibility) |
composer lint:fix | Fix coding standard violations automatically |
composer analyse | Static analysis with PHPStan |
composer test:unit | Unit tests without WordPress |
npm run test:php | Integration tests with the WordPress test suite |
npm run test:php:multisite | Integration tests on multisite |
npm run test:e2e | End-to-end tests with Playwright |
npm run build | Build the editor script and the interactivity module |
npm run start | Rebuild JavaScript on changes |
npm run lint:js | JavaScript coding standards |
npm run lint:md | Markdown coding standards |
npm run plugin-check | Official Plugin Check on the development site (WP_ENV_CONFIG=.wp-env.test.json for the test site) |
npm run i18n:pot | Regenerate languages/easyq.pot |
npm run plugin-zip | Build the release archive |
To test against another WordPress or PHP version, create .wp-env.test.override.json
(.wp-env.override.json for the development site) and start the environment again:
{ "core": "WordPress/WordPress#6.7", "phpVersion": "8.2" }
GitHub Actions checks every push to main and every pull request
(.github/workflows/ci.yml):
package.json
linting;Markdown is linted on every run; commits that only change Markdown files skip the other
jobs. Before pushing, run the
commands above for the parts you changed, at least composer lint, composer analyse
and the tests.
| Path | Content |
|---|---|
easyq.php | Plugin bootstrap |
uninstall.php | Data removal when the plugin is deleted |
includes/ | PHP classes; EasyQ\Database\Schema lives in includes/database/class-schema.php |
blocks/ | Block metadata (block.json) of every block; they are rendered by includes/blocks/ |
src/ | JavaScript sources: block editor (src/editor) and frontend interactivity (src/view) |
build/ | Built JavaScript, created by npm run build |
languages/ | Translation template and bundled translations |
tests/unit/ | Unit tests without WordPress |
tests/integration/ | Integration tests with the WordPress test suite |
tests/e2e/ | Playwright end-to-end tests |
docs/ | Project documentation |
.github/workflows/ | Continuous integration |
EasyQ namespace and follow the WordPress file naming
conventions (class-*.php, lowercase directories).@since;error( $option, $actor, check_blocks: false );<br />) and unique IDs;@ error suppression;Feeds_Test), in a
file named like the class.easyQ is free software, licensed under the GNU General Public License v2 or later.
easyQ is based on Question2Answer by Gideon Greenspan and contributors, licensed under the GNU General Public License v2 or later.