Description
Automatically synchronize your Digiforma training catalog and allow your visitors to register directly from your WordPress site.
Main Features
- Automatic synchronization of training programs, categories, sessions, and instructors from the Digiforma API
- Custom post type “digiforma” to manage your training programs
- Training category taxonomy to organize your programs
- Training sessions stored in program posts
- Secure registration forms for:
- Pre-registrations for inter sessions (with session selection)
- Requests for intra sessions (in-company training)
- Requests for custom sessions (personalized training)
- Multi-layer anti-spam protection (honeypot, rate limiting, Akismet, temporal validation)
- Customizable templates for displaying archives and training details
- Appearance customization (colors, images, text) from WordPress administration
- Automatic cleanup of obsolete content
- Integrated SEO optimizations
Usage
Use the [digiforma_form] shortcode to display the registration form.
Templates can be overridden in your theme to customize the display.
Developer hooks
Themes and custom plugins can extend Digiforma with WordPress actions and filters.
Registration form (inter sessions)
digiforma_form_session_option_label— Filter the label of one session in the dropdown.- Parameters:
$label(string),$session(array),$postId(int) - Return: string (escaped again on output; do not include HTML)
- Parameters:
digiforma_form_session_options— Filter the full list of session options (session id => label).- Parameters:
$options(array),$postId(int),$sessions(array) - Return: array
- Parameters:
Example in a theme functions.php:
add_filter( 'digiforma_form_session_option_label', function ( $label, $session, $post_id ) {
$name = isset( $session['name'] ) ? (string) $session['name'] : '';
return $name !== '' ? $name : $label;
}, 10, 3 );<h3>GraphQL client</h3>
* digiforma_graphql_client — Replace the Digiforma GraphQL client instance used on form submission.
Spam protection
digiforma_spam_min_submission_time— Minimum seconds before a submission is accepted (int).digiforma_spam_max_submission_time— Maximum seconds before a submission is rejected (int).digiforma_spam_suspicious_email_domains— List of suspicious email domains (array).digiforma_spam_suspicious_keywords— List of suspicious keywords (array).digiforma_spam_strict_referrer_check— Enable strict referrer checking (bool).digiforma_spam_require_javascript— Require JavaScript to submit (bool).digiforma_spam_score_threshold— Spam score threshold (int).
Rate limiting
digiforma_rate_limit_max_attempts— Maximum submission attempts (int).digiforma_rate_limit_time_window— Rate limit time window in seconds (int).
Templates
digiforma_render_single_in_block— Return true to render the single formation template inside a block wrapper (bool).
Actions on archive and single templates include: digiforma_archive_before, digiforma_archive_after, digiforma_archive_after_title, digiforma_archive_before_loop, digiforma_archive_after_loop, digiforma_archive_empty, digiforma_archive_loop_item_before, digiforma_archive_loop_item_after, digiforma_single_before, digiforma_single_after_header, digiforma_single_formation_page_after_video, digiforma_single_formation_page_after_sessions, digiforma_single_formation_page_after_content.
Synchronization
digiforma_sync_programs_completed— Fired after program sync ($result,$forceUpdate).digiforma_sync_sessions_completed— Fired after session sync ($result,$forceUpdate).digiforma_sync_categories_completed— Fired after category sync ($result,$cleanupImmediately).digiforma_sync_instructors_completed— Fired after instructor sync ($result,$forceUpdate).digiforma_auto_sync_failed— Fired when automatic sync fails ($exception).
Administration
digiforma/admin/before_main_page— Before the main Digiforma settings page is rendered.digiforma/admin/after_main_page_header— After the main settings page header.
Security
The plugin implements multiple layers of protection:
* CSRF protection with WordPress nonces
* Anti-bot honeypot
* Rate limiting by IP and email
* Advanced spam detection
* Complete validation and sanitization of all data
External Services
This plugin connects to external services to provide its functionality. Below is detailed information about each service used.
Digiforma API
The extension synchronizes training content and manages registrations.
-
What the service is and what it is used for: Digiforma is a training management platform that allows organizations to organize and manage their training catalog. The Digiforma plugin is used to:
- Synchronize training programs, categories, training sessions, and instructors from Digiforma to WordPress.
- Validate the license key during plugin configuration.
- Submit pre-registration requests for training sessions (inter, intra, and custom sessions).
-
What data is sent and when:
- During synchronization (manual or automatic): The plugin sends authenticated queries containing the license key to retrieve training data. No personal user data is sent during synchronization.
- During license key validation: The plugin sends a test query with the license key to verify API access.
- During form submission: When a visitor submits a registration form, the plugin sends the following personal data to create a registration in Digiforma:
- For individuals:
- First name.
- Last name.
- Email.
- Phone number.
- Address.
- Postal code.
- City.
- Country.
- Optional: custom fields configured in Digiforma.
- For organizations:
- Company name.
- Company email.
- Phone number.
- SIRET number.
- Address.
- Postal code.
- City.
- Country.
- Optional: custom fields configured in Digiforma.
- Additional context:
- Training program ID.
- Session ID (for inter sessions).
- Number of learners.
- Form type.
-
Service provider: Digiforma
- Terms of service and Privacy policy: https://app.digiforma.com/tos
Support
For any questions or issues, consult the plugin readme (Developer hooks section) or contact Digiforma support.
Blocks
This plugin provides 4 blocks.
- Digiforma Archive Filters Filtres archive Digiforma compatibles Query Loop.
- Digiforma Formation Card Carte formation Digiforma pour boucles Query Loop et templates archive FSE.
- Digiforma Archive View Switch de vue archive Digiforma en grille ou en liste.
- Digiforma Formation Single Rendu serveur de la fiche formation Digiforma pour les templates FSE.
Installation
- Install and activate the plugin from the WordPress repository
- Go to Digiforma > Settings
- Enter your Digiforma license key (obtained from app.digiforma.com)
- Configure the form and thank-you pages
- Click “Synchronize catalog” to import your training programs
Reviews
Contributors & Developers
“Catalogue de formation Digiforma” is open source software. The following people have contributed to this plugin.
Contributors“Catalogue de formation Digiforma” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Catalogue de formation Digiforma” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
[1.6.3] – 2026-07-07
- Create a filter for sessions name
- Change color picker
- Add required mention at the bottom of the form
- Fix remove programs that are no more in Digiforma
- Add field list on message error
- Fix SEO JSON and add Course Schema
- Use API config for base fields
- Add all date for sessions in meta
- Fix reveiw rate on single header
[1.6.2] – 2026-06-16
- Fix synchro for sessions
- Add hooks comments
- Fix line breaks errors
[1.6.1] – 2026-05-29
- Add trainee in register form
- Create a second style for form with shortcode attribute style=”catalog”
- Add a force sync button to force replace all meta un programms
- Adding hook after sync action
[1.5.3] – 2026-05-04
- Fix rewrite achrive with front
- Fix responsive archive for IOS
- Add line breaks on single accessibility text
[1.5.2] – 2026-04-25
- Hotfix form open div
- Add line break in mentoring text
[1.5.1] – 2026-04-14
- Hotfix single sidebar mobile
[1.5.0] – 2026-04-09
- Add compatibility with FSE
- Fix bullets in the training card list
- Add advanced settings for fixed header
- Change single header meta design
- Add created-at / updated-at display
- Force permalink rules
- Change sidebar order on mobile
[1.4.1] – 2026-03-24
- Hotfix for duplicate fields in forms
[1.4.0] – 2026-03-20
- For the registration form: fetch fields from Digiforma
- Design changes for next sessions
- Fix price display
- Display comment for score in training detail page
- Add a minimal size for font
- Add support for half hour/day
- Do not display empty cards on training detail page
[1.3.1] – 2026-02-18
- Add French translation
- Add missing translations for Spanish and German
- Edit labels for administration page to make it clearer
- Change color settings
- Add an error message when URL identifiers are the same
- Fix max capacity when set to false
[1.2.2] – 2026-02-18
- Add French translation
- Add missing translations for Spanish and German
- Edit labels for administration page to make it clearer
[1.2.1]
- Initial release.
