The official cm4all-wp-impex WordPress plugin for PHP 7.4 can be downloaded from the Wordpress Plugin Directory.
If you prefer to use the PHP 8 version of the Plugin, you can download it from the GitHub project repository releases page.
This plugin requires
-
WordPress Version : see
plugins/cm4all-wp-impex/plugin.php
header -
PHP Version : see
plugins/cm4all-wp-impex/plugin.php
header
Documentation can be found here : https://ionos-wordpress.github.io/cm4all-wp-impex/
Please note that the development scripts are currently only tested in Linux. Chances are high that they work also on MacOs and using Windows WSL.
Afer checkout simply call make
to
- build the project :
make
- setup an wp-env instance (available at http://localhost:8888)
Execute make help
to see all available commands (including description). Make targets markled with asterisk (*
) are the
primary targets you may want to execute.
- start
make dev
On every change to the JS/CSS files in the plugin the transpiled files are generated in the dist
folder and the recent browser tab gets reloaded.
gh_pages is done using mdbook.
- start
make dev-gh-pages
On every change the book gets rebuild and immediately rerendered in your browser.
-
Ensure the VSCode PHP Debug extension (https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug) is installed
-
Set some breakpoints.
-
start the VS Code launch configuration (generated by
make
) containingimpex
in VS Code -
Execute
make test-phpunit
- start the VS Code launch configuration (generated by
make
) containingimpex phpunit
in VS Code
- PHP needs to be installed on your local machine for installing composer updates
- make (GNU Make > 4.0)
- nodejs (see .nvmrc)
- docker
- nvm (optional)
entr
,xdotool
andgoogle-chrome
formake dev
(reload chrome browser tab after rebuild)msgmerge
,msginit
andmsgfmt
for i18n resource building (usually contained in *nix packagegettext
)subversion
,librsvg2-bin
andimagemagick
for wordpress.org deployment
The release process is done by Github Actions when the main
branch gets updated (git push
)
To make a release :
-
fetch remote changes including tags for branch main :
git fetch --tags origin main:main
-
merge
main
intodevelop
(prevent creating a merge commit message) :git rebase --no-ff main
orgit merge --no-commit --no-ff main
-
push develop to main to trigger release creation using ci :
git push origin develop:main