Gravity Forms (WordPress-plugin)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

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-CLI
  • display_meta: Lijkt dezelfde formulierdefinitie te zijn als die je krijgt via WP-CLI
  • entries_grid_meta: Onduidelijke serialised data - Heeft ogenschijnlijk gelukkig niets te maken met formulier zelf
  • confirmations: Complete definities van verzend-bevestigingen
  • notifications: Complete definities van de notificatie-emails die naar beheerders wordt gestuurd.

ReCAPTCHA add-on

Google's ReCAPTCHA can be integrated into forms:

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

See also