| 开发者 | youheiokubo |
|---|---|
| 更新时间 | 2026年8月3日 20:22 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
assets/, uploads move to media/. The wp-content directory disappears from the deliverable.noindex.exec(), no external binaries, no external APIs. It runs on Local, MAMP, XAMPP, DDEV, Docker, or shared hosting, and works offline.
Not for every case
Distan is not suitable when the client updates the site themselves, when forms, search, comments, or membership are required, or for sites of only a few pages.
wp-content/plugins/, or install the ZIP from Plugins → Add New → Upload.wp-content/uploads/distan/dist/.No. The output is static HTML. That is the point: there is no application to attack or maintain on the production server.
Yes. Generation sends a normal HTTP request per page, so get_header(), get_template_part(), template hierarchy, conditional tags, and custom fields all behave exactly as they do on the live site.
Anything that needs server-side processing: search forms, comment submission, contact forms, and membership. Values that depend on the current time (a copyright year printed with date('Y'), relative dates) are frozen at generation time.
Yes, with a classic theme. Block themes load their JavaScript as ES modules, which browsers refuse to load over file://. HTML, CSS, images, and links work either way; use a local server for a complete preview.
distan_dispatch action hook and an optional manual "デプロイ" (dispatch) button on the generate screen. After reviewing the generated output, pressing the button fires distan_dispatch so a project can promote the reviewed build (git push, rsync, a build webhook). Distan stores no approval state — only the time of the last dispatch, shown on screen. The button is off by default; enable it in settings.distan_after_generate action hook, fired when a generation run completes, for wiring up automatic deployment (git push, rsync, build webhooks, etc.).distan_url_replacements filter for custom production URL replacements (applied across the whole output, including JSON-LD).