Gravity Forms (WordPress-plugin)
Sinds 2020 is Gravity Forms m'n standaard formulieren-plugin, op advies van een specialist. Ik denk dat ik 'm ok vind. De belangrijkste dingen gaan heel soepel. Waarschijnlijk zijn het de nag-screens om maar de betaalde versie te kopen, waar ik het meeste moeite mee heb. En dat het de complete backend-interface van WordPress overneemt. Verder is-ie prima.
Dit artikel gaat tot op heden (okt. 2021) vrijwel uitsluitend over de WP-CLI-commando's om Gravity Forms en bijbehorende formulieren te beheren.
Licensering
Het is een betaalde plugin. Zonder licentie doet-ie nix.
- Als ik sites kloon, is de gekloonde licentie ok - Itt. tot een andere plugin (naam vergeten) waarbij de licentie URL-afhankelijk was
- Als ik alleen de plugin kopiëer en plak, is de licentie niet ok.
WP-CLI
Installation
Gravity Forms has quite a library of WP-CLI commands, but these need to be separately installed as a plugin:
wp plugin install gravityformscli --activate
Disable or enable a form?
I have the impression that you cannot disable or enable a form through a dedicated WP-CLI command.
Example using SQL:
cd $site_path sql="update wp_gf_form set is_active=0 where id=1" wp db query "$sql"
Database-model
Basic form settings - wp_gf_form
Basic form settings are stored in table wp_gf_form
. Example:
$ select * from wp_gf_form; +----+----------------+---------------------+--------------+-----------+----------+ | id | title | date_created | date_updated | is_active | is_trash | +----+----------------+---------------------+--------------+-----------+----------+ | 1 | Contact form | 2019-08-05 08:38:28 | NULL | 0 | 0 | | 3 | Selection Tool | 2020-12-23 09:01:02 | NULL | 1 | 0 | +----+----------------+---------------------+--------------+-----------+----------+
Fields:
* id MEDIUMINT(10) PK NN UN AI * title VARCHAR(150) NN * date_created DATETIME NN * data_updated DATETIME Default: NULL * is_active TINYINT(10) NN Default: 1 * is_trash TINYINT(10) NN Default: 0
Form definitions - wp_gf_form_meta
Volledige definities van formulieren vind je in tabel wp_gf_form_meta
. Ik denk dat het JSON-code is. Voordeel boven reguliere serialised data: Het aantal bytes per veld is niet vastgelegd. Je kunt het dus veel gemakkelijker zelf bewerken. De verschillende kolommen:
form_id
: Dezelfde formulier-ID als via de WP-CLIdisplay_meta
: Lijkt dezelfde formulierdefinitie te zijn als die je krijgt via WP-CLIentries_grid_meta
: Onduidelijke serialised data - Heeft ogenschijnlijk gelukkig niets te maken met formulier zelfconfirmations
: Complete definities van verzend-bevestigingennotifications
: Complete definities van de notificatie-emails die naar beheerders wordt gestuurd.
ReCAPTCHA add-on
Google's ReCAPTCHA can be integrated into forms:
- wp_admin » Forms » Settings » ReCAPTCHA
- https://www.google.com/recaptcha/about/
- Using Google's reCAPTCHAs for Gravity Forms, requires the Gravity Forms reCAPTCHA Add-On: https://www.gravityforms.com/add-ons/recaptcha/
- This is not the same as https://wordpress.org/plugins/gravity-forms-zero-spam/
- This add-on cannot be installed through
wp plugin install
: Seewp plugin search "gravity forms recaptcha" --per-page=100 | grep gravity
, https://wordpress.org/plugins/search/gravity+forms+recaptcha/ or try it yourself:wp plugin install gravityformsrecaptcha
- Supposingly, it could be installed through
wp gf install gravityformsrecaptcha
. I suspect you need to always supply the key for Gravity Forms itself (not for the add-on, if there is such a thing). See Wp gf install (WP-CLI) for details.
After installation, the add-on does appear amongst plugins:
$ wp plugin list | grep gravity gravityforms active none 2.6.7 gravityformscli active none 1.4 gravityformsrecaptcha active none 1.1