Crosswordsearch is a WordPress plugin for designing and playing wordsearch-style crosswords. It started as a development for RadiJojo.de, the International Children's Media Network.
If you want to use this plugin on your Website, I strongly advise you to load it from the Wordpress Plugin repository.
Crosswordsearch is compatible with Worpress 3.6 and above. It requires PHP 5.3 or above and a MySQL DBMS that supports InnoDB tables.
All modern browsers as well as Internet Explorer 9 and newer are supported. The Gutenberg editor interface requires current browsers, as does Gutenberg itself.
Installation in Wordpress
I recommend to create a softlink under the name
crosswordsearch in your wordpress plugin
directory pointing at the
plugin directory. Copying and renaming the directory will work also,
with the exception of the test data install.
Activating the plugin from the Wordpress administrative interface will
- install three additional database tables
wp_crw_crosswords, explicitly as InnoDB tables. Make sure your MySQL server supports this engine.
- introduce two specialized capabilities:
edit_crosswordwill be given to roles that have the
push_crosswordwill be given to the Subscriber role. These are defaults that can be altered on the Settings/Crosswordsearch adminstrative page.
If your WP installation is in debug mode, additionally some test data will be added to
wp_crw_crosswords. (Debug mode will break if you use a WP version
< 3.8 together with PHP 5.5. This is actually a general issue with class $wpdb. Read
this Blog post for more
On plugin deactivation, the special roles will be removed, but the data tables are left in place.
Usage in Wordpress
See the wiki.
Please refer to http://gruntjs.com/getting-started to get grunt up and running. Running
in the base directory will install all needed dependencies for the defined tasks. This includes
some Jasmine test dependencies installed in
tests/vendor with bower.
The following tasks are available for the development process:
grunt jasminewill build files
tests/_SpecRunner-*.htmlthat can run the unit tests in
tests/unit/in any browser you like (one for the main app and one the shortcode wizzard). It will not run the tests as part of the task.
grunt jshint:mainwill lint the files in
grunt jshint:specthose in
grunt uglifywill link the files in
plugin/js/crosswordsearch.jsand minify them as
plugin/js/crosswordsearch.min.js. Please note that if you add a new file, you have to list it explicitely in
Gruntfile.jsto include for linting and uglifying.
grunt writel10nwill compile
l10n.phpfrom json data that are also used in unit testing
grunt sasswill compile, link and minify the files in
grunt potextracts the localizable strings from the
.phpfiles to the
grunt msgmergewill update all
grunt blockcompiles the
msgmergetogether and splits out the strings needed for the