{"id":278776,"date":"2026-02-17T09:16:59","date_gmt":"2026-02-17T09:16:59","guid":{"rendered":"https:\/\/fr.wordpress.org\/plugins\/digiforma\/"},"modified":"2026-09-17T13:12:53","modified_gmt":"2026-09-17T13:12:53","slug":"digiforma","status":"publish","type":"plugin","link":"https:\/\/as.wordpress.org\/plugins\/digiforma\/","author":23421384,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.3","stable_tag":"1.7.3","tested":"7.1.1","requires":"6.6","requires_php":"8.2","requires_plugins":null,"header_name":"Catalogue de formation Digiforma","header_author":"Digiforma","header_description":"Plugin pour la gestion des programmes de formation de Digiforma","assets_banners_color":"a486e3","last_updated":"2026-09-17 13:12:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/digiforma.com","rating":5,"author_block_rating":0,"active_installs":70,"downloads":1661,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.2.1":{"tag":"1.2.1","author":"digiforma","date":"2026-02-17 10:35:44","revision":3463357},"1.3.1":{"tag":"1.3.1","author":"digiforma","date":"2026-02-27 17:36:13","revision":3471268},"1.4.0":{"tag":"1.4.0","author":"digiforma","date":"2026-03-20 06:58:56","revision":3486995},"1.4.1":{"tag":"1.4.1","author":"digiforma","date":"2026-03-24 08:48:08","revision":3489734},"1.5.0":{"tag":"1.5.0","author":"digiforma","date":"2026-04-13 13:18:58","revision":3505220},"1.5.1":{"tag":"1.5.1","author":"digiforma","date":"2026-04-14 14:05:42","revision":3506121},"1.5.2":{"tag":"1.5.2","author":"digiforma","date":"2026-04-25 06:07:02","revision":3515069},"1.5.3":{"tag":"1.5.3","author":"digiforma","date":"2026-05-04 08:14:16","revision":3522062},"1.6.1":{"tag":"1.6.1","author":"digiforma","date":"2026-06-04 09:06:36","revision":3560553},"1.6.2":{"tag":"1.6.2","author":"digiforma","date":"2026-06-16 09:41:30","revision":3574291},"1.6.3":{"tag":"1.6.3","author":"digiforma","date":"2026-07-09 05:54:49","revision":3601014},"1.7.1":{"tag":"1.7.1","author":"digiforma","date":"2026-09-09 07:50:37","revision":3687848},"1.7.2":{"tag":"1.7.2","author":"digiforma","date":"2026-09-10 13:36:42","revision":3689984},"1.7.3":{"tag":"1.7.3","author":"digiforma","date":"2026-09-17 13:12:53","revision":3700361}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3463364,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-772x250-de_DE.png":{"filename":"banner-772x250-de_DE.png","revision":3463382,"resolution":"772x250","location":"assets","locale":"de_DE","width":1160,"height":375},"banner-772x250-es_ES.png":{"filename":"banner-772x250-es_ES.png","revision":3463382,"resolution":"772x250","location":"assets","locale":"es_ES","width":1160,"height":375},"banner-772x250-fr_FR.png":{"filename":"banner-772x250-fr_FR.png","revision":3463382,"resolution":"772x250","location":"assets","locale":"fr_FR","width":1160,"height":375},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3463382,"resolution":"772x250","location":"assets","locale":"","width":1160,"height":375}},"assets_blueprints":{},"all_blocks":{"digiforma\/archive-filters":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"digiforma\/archive-filters","version":"0.1.0","title":"Digiforma Archive Filters","category":"widgets","icon":"filter","description":"Filtres archive Digiforma compatibles Query Loop.","example":{},"keywords":["digiforma","filtres","archive","query","search"],"supports":{"html":false},"textdomain":"digiforma","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","render":"file:.\/render.php","viewScript":"file:.\/view.js"},"digiforma\/formation-card":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"digiforma\/formation-card","version":"0.1.0","title":"Digiforma Formation Card","category":"widgets","icon":"welcome-learn-more","description":"Carte formation Digiforma pour boucles Query Loop et templates archive FSE.","example":{},"keywords":["digiforma","formation","archive","carte"],"attributes":{"showCategoriesInsteadTags":{"type":"boolean","default":false},"showPricesBeforeDuration":{"type":"boolean","default":false},"showCpfEligibleBadge":{"type":"boolean","default":false},"showPlaceType":{"type":"boolean","default":false},"priceLabelText":{"type":"string","default":""},"durationLabelText":{"type":"string","default":""},"sessionsTitleText":{"type":"string","default":"Prochaine date"},"maxUpcomingSessions":{"type":"number","default":1}},"usesContext":["postId","postType"],"supports":{"html":false},"textdomain":"digiforma","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","render":"file:.\/render.php","viewScript":"file:.\/view.js"},"digiforma\/archive-view":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"digiforma\/archive-view","version":"0.1.0","title":"Digiforma Archive View","category":"widgets","icon":"screenoptions","description":"Switch de vue archive Digiforma en grille ou en liste.","example":{},"keywords":["digiforma","archive","grille","liste","vue"],"supports":{"html":false},"textdomain":"digiforma","editorScript":"file:.\/index.js","editorStyle":"file:.\/index.css","style":"file:.\/style-index.css","render":"file:.\/render.php","viewScript":"file:.\/view.js"},"digiforma\/formation-single":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"digiforma\/formation-single","version":"1.0.0","title":"Digiforma Formation Single","category":"widgets","icon":"welcome-learn-more","description":"Rendu serveur de la fiche formation Digiforma pour les templates FSE.","textdomain":"digiforma","editorScript":"file:.\/index.js","usesContext":["postId","postType"],"supports":{"html":false,"auto_register":true},"render":"file:.\/render.php"}},"tagged_versions":["1.2.1","1.3.1","1.4.0","1.4.1","1.5.0","1.5.1","1.5.2","1.5.3","1.6.1","1.6.2","1.6.3","1.7.1","1.7.2","1.7.3"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[141240],"plugin_category":[],"plugin_contributors":[256011],"plugin_business_model":[],"class_list":["post-278776","plugin","type-plugin","status-publish","hentry","plugin_tags-formation","plugin_contributors-digiforma","plugin_committers-digiforma"],"banners":{"banner":"https:\/\/ps.w.org\/digiforma\/assets\/banner-772x250.png?rev=3463382","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/digiforma\/assets\/icon-128x128.png?rev=3463364","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Automatically synchronize your Digiforma training catalog and allow your visitors to register directly from your WordPress site.<\/p>\n\n<h3>Main Features<\/h3>\n\n<ul>\n<li>Automatic synchronization of training programs, categories, sessions, and instructors from the Digiforma API<\/li>\n<li>Custom post type \"digiforma\" to manage your training programs<\/li>\n<li>Training category taxonomy to organize your programs<\/li>\n<li>Training sessions stored in program posts<\/li>\n<li>Secure registration forms for:\n\n<ul>\n<li>Pre-registrations for inter sessions (with session selection)<\/li>\n<li>Requests for intra sessions (in-company training)<\/li>\n<li>Requests for custom sessions (personalized training)<\/li>\n<\/ul><\/li>\n<li>Multi-layer anti-spam protection (honeypot, rate limiting, Akismet, temporal validation)<\/li>\n<li>Customizable templates for displaying archives and training details<\/li>\n<li>Appearance customization (colors, images, text) from WordPress administration<\/li>\n<li>Automatic cleanup of obsolete content<\/li>\n<li>Integrated SEO optimizations (JSON-LD Course, FAQ, breadcrumbs)<\/li>\n<li>Gutenberg blocks for Full Site Editing (FSE) themes<\/li>\n<li>Daily automatic catalog synchronization<\/li>\n<li>Signed form URLs (HMAC) for secure context handling<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<p>Use the [digiforma_form] shortcode to display the registration form.<\/p>\n\n<p>Shortcode attributes:\n* <code>style=\"catalog\"<\/code> \u2014 alternate visual style for the form page (since 1.6.1)<\/p>\n\n<p>Form context is read from URL parameters (<code>type<\/code>, <code>formation<\/code>, <code>session<\/code>) and must include a valid <code>df_sig<\/code> HMAC signature generated by the plugin. Supported <code>type<\/code> values: <code>inter<\/code>, <code>intra<\/code>, <code>tailored<\/code> (custom\/sur-mesure).<\/p>\n\n<p>Use [digiforma_formations] to display a list of training programs. Attributes: <code>title<\/code>, <code>ids<\/code> (comma-separated Digiforma program IDs), <code>notitle<\/code> (true to hide the title).<\/p>\n\n<p>For FSE themes, use the Digiforma Gutenberg blocks (formation-single, formation-card, archive-view, archive-filters).<\/p>\n\n<p>Templates can be overridden in your theme to customize the display.<\/p>\n\n<h3>Developer hooks<\/h3>\n\n<p>Themes and custom plugins can extend Digiforma with WordPress actions and filters.<\/p>\n\n<h3>Registration form (inter sessions)<\/h3>\n\n<ul>\n<li><code>digiforma_form_session_option_label<\/code> \u2014 Filter the label of one session in the dropdown.\n\n<ul>\n<li>Parameters: <code>$label<\/code> (string), <code>$session<\/code> (array), <code>$postId<\/code> (int)<\/li>\n<li>Return: string (escaped again on output; do not include HTML)<\/li>\n<\/ul><\/li>\n<li><code>digiforma_form_session_options<\/code> \u2014 Filter the full list of session options (<code>session id =&gt; label<\/code>).\n\n<ul>\n<li>Parameters: <code>$options<\/code> (array), <code>$postId<\/code> (int), <code>$sessions<\/code> (array)<\/li>\n<li>Return: array<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>Example in a theme <code>functions.php<\/code>:<\/p>\n\n<pre><code>add_filter( 'digiforma_form_session_option_label', function ( $label, $session, $post_id ) {\n    $name = isset( $session['name'] ) ? (string) $session['name'] : '';\n    return $name !== '' ? $name : $label;\n}, 10, 3 );&lt;h3&gt;GraphQL client&lt;\/h3&gt;\n<\/code><\/pre>\n\n<p>* <code>digiforma_graphql_client<\/code> \u2014 Replace the Digiforma GraphQL client instance used on form submission.<\/p>\n\n<h3>Spam protection<\/h3>\n\n<ul>\n<li><code>digiforma_spam_min_submission_time<\/code> \u2014 Minimum seconds before a submission is accepted (int).<\/li>\n<li><code>digiforma_spam_max_submission_time<\/code> \u2014 Maximum seconds before a submission is rejected (int).<\/li>\n<li><code>digiforma_spam_suspicious_email_domains<\/code> \u2014 List of suspicious email domains (array).<\/li>\n<li><code>digiforma_spam_suspicious_keywords<\/code> \u2014 List of suspicious keywords (array).<\/li>\n<li><code>digiforma_spam_strict_referrer_check<\/code> \u2014 Enable strict referrer checking (bool).<\/li>\n<li><code>digiforma_spam_require_javascript<\/code> \u2014 Require JavaScript to submit (bool).<\/li>\n<li><code>digiforma_spam_score_threshold<\/code> \u2014 Spam score threshold (int).<\/li>\n<\/ul>\n\n<h3>Rate limiting<\/h3>\n\n<ul>\n<li><code>digiforma_rate_limit_max_attempts<\/code> \u2014 Maximum submission attempts (int).<\/li>\n<li><code>digiforma_rate_limit_time_window<\/code> \u2014 Rate limit time window in seconds (int).<\/li>\n<\/ul>\n\n<h3>Templates<\/h3>\n\n<ul>\n<li><code>digiforma_render_single_in_block<\/code> \u2014 Return true to render the single formation template inside a block wrapper (bool).<\/li>\n<\/ul>\n\n<p>Actions on archive and single templates include: <code>digiforma_archive_before<\/code>, <code>digiforma_archive_after<\/code>, <code>digiforma_archive_after_title<\/code>, <code>digiforma_archive_before_loop<\/code>, <code>digiforma_archive_after_loop<\/code>, <code>digiforma_archive_empty<\/code>, <code>digiforma_archive_loop_item_before<\/code>, <code>digiforma_archive_loop_item_after<\/code>, <code>digiforma_single_before<\/code>, <code>digiforma_single_after_header<\/code>, <code>digiforma_single_formation_page_after_video<\/code>, <code>digiforma_single_formation_page_after_sessions<\/code>, <code>digiforma_single_formation_page_after_content<\/code>.<\/p>\n\n<h3>Synchronization<\/h3>\n\n<ul>\n<li><code>digiforma_sync_programs_completed<\/code> \u2014 Fired after program sync (<code>$result<\/code>, <code>$forceUpdate<\/code>).<\/li>\n<li><code>digiforma_sync_sessions_completed<\/code> \u2014 Fired after session sync (<code>$result<\/code>, <code>$forceUpdate<\/code>).<\/li>\n<li><code>digiforma_sync_categories_completed<\/code> \u2014 Fired after category sync (<code>$result<\/code>, <code>$cleanupImmediately<\/code>).<\/li>\n<li><code>digiforma_sync_instructors_completed<\/code> \u2014 Fired after instructor sync (<code>$result<\/code>, <code>$forceUpdate<\/code>).<\/li>\n<li><code>digiforma_auto_sync_failed<\/code> \u2014 Fired when automatic sync fails (<code>$exception<\/code>).<\/li>\n<\/ul>\n\n<h3>Administration<\/h3>\n\n<ul>\n<li><code>digiforma\/admin\/before_main_page<\/code> \u2014 Before the main Digiforma settings page is rendered.<\/li>\n<li><code>digiforma\/admin\/after_main_page_header<\/code> \u2014 After the main settings page header.<\/li>\n<\/ul>\n\n<h3>SEO<\/h3>\n\n<ul>\n<li><code>digiforma_course_json_ld<\/code> \u2014 Filter the Course JSON-LD output for a formation post.\n\n<ul>\n<li>Parameters: <code>$jsonLd<\/code> (array|null), <code>$postId<\/code> (int)<\/li>\n<li>Return: array|null<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Security<\/h3>\n\n<p>The plugin implements multiple layers of protection:\n* CSRF protection with WordPress nonces\n* Anti-bot honeypot\n* Rate limiting by IP and email\n* Advanced spam detection\n* Complete validation and sanitization of all data<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to external services to provide its functionality. Below is detailed information about each service used.<\/p>\n\n<h3>Digiforma API<\/h3>\n\n<p>The extension synchronizes training content and manages registrations.<\/p>\n\n<ul>\n<li><p><strong>What the service is and what it is used for<\/strong>: Digiforma is a training management platform that allows organizations to organize and manage their training catalog. The Digiforma plugin is used to:<\/p>\n\n<ul>\n<li>Synchronize training programs, categories, training sessions, and instructors from Digiforma to WordPress.<\/li>\n<li>Validate the license key during plugin configuration.<\/li>\n<li>Submit pre-registration requests for training sessions (inter, intra, and custom sessions).<\/li>\n<\/ul><\/li>\n<li><p><strong>What data is sent and when<\/strong>:<\/p>\n\n<ul>\n<li><strong>During synchronization<\/strong> (manual or automatic): The plugin sends authenticated queries containing the license key to retrieve training data. No personal user data is sent during synchronization.<\/li>\n<li><strong>During license key validation<\/strong>: The plugin sends a test query with the license key to verify API access.<\/li>\n<li><strong>During form submission<\/strong>: When a visitor submits a registration form, the plugin sends the following personal data to create a registration in Digiforma:<\/li>\n<li><strong>For individuals<\/strong>:\n\n<ul>\n<li>First name.<\/li>\n<li>Last name.<\/li>\n<li>Email.<\/li>\n<li>Phone number.<\/li>\n<li>Address.<\/li>\n<li>Postal code.<\/li>\n<li>City.<\/li>\n<li>Country.<\/li>\n<li>Optional: custom fields configured in Digiforma.<\/li>\n<\/ul><\/li>\n<li><strong>For organizations<\/strong>:\n\n<ul>\n<li>Company name.<\/li>\n<li>Company email.<\/li>\n<li>Phone number.<\/li>\n<li>SIRET number.<\/li>\n<li>Address.<\/li>\n<li>Postal code.<\/li>\n<li>City.<\/li>\n<li>Country.<\/li>\n<li>Optional: custom fields configured in Digiforma.<\/li>\n<\/ul><\/li>\n<li><strong>Additional context<\/strong>:\n\n<ul>\n<li>Training program ID.<\/li>\n<li>Session ID (for inter sessions).<\/li>\n<li>Number of learners.<\/li>\n<li>Form type.<\/li>\n<\/ul><\/li>\n<\/ul><\/li>\n<li><p><strong>Service provider<\/strong>: Digiforma<\/p><\/li>\n<li><strong>Terms of service<\/strong> and <strong>Privacy policy<\/strong>: https:\/\/app.digiforma.com\/tos<\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<p>For any questions or issues, consult the plugin readme (Developer hooks section) or contact Digiforma support.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin from the WordPress repository<\/li>\n<li>Go to Digiforma &gt; Settings<\/li>\n<li>Enter your Digiforma license key (obtained from app.digiforma.com)<\/li>\n<li>Configure the form and thank-you pages<\/li>\n<li>Click \"Synchronize catalog\" to import your training programs<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>[1.7.3] - 2026-09-17<\/h4>\n\n<ul>\n<li>Display only ongoing sessions<\/li>\n<\/ul>\n\n<h4>[1.7.2] - 2026-09-10<\/h4>\n\n<ul>\n<li>Paginate Digiforma training-session sync (page size 999) so all sessions are fetched, not only the first page<\/li>\n<\/ul>\n\n<h4>[1.7.1] - 2026-09-09<\/h4>\n\n<ul>\n<li>Sync sessions with Digiforma <code>excludeFromCatalog<\/code> (skip sessions marked to exclude from the catalog)<\/li>\n<li>Fallback to API <code>startDate<\/code> when a session has an empty <code>dates[]<\/code> array<\/li>\n<li>Live session places \/ capacity: display remaining seats when Digiforma provides capacity data<\/li>\n<li>Show \u201csession full\u201d state on the registration form and surface Digiforma API errors next to the generic failure message<\/li>\n<li>Display places only when Digiforma exposes seat data; remove seat count from the single sidebar when not applicable<\/li>\n<li>Fix place counting and <code>placeName<\/code> resolution for sessions<\/li>\n<li>Show next session on cards with a \u201c+ X sessions\u201d link to the formation page<\/li>\n<li>Remove session price display where it was incorrect<\/li>\n<li>Featured trainings and toggle filters on the catalog<\/li>\n<li>Archive SEO content block<\/li>\n<li>List view styling improvements for the archive<\/li>\n<li>Diploma field on single formation and in filters<\/li>\n<li>Multiple documents support on the single formation page<\/li>\n<li>PDF \/ catalog document link on programs<\/li>\n<li>Reposition learning objectives on the single page<\/li>\n<li>Crop images on formation cards<\/li>\n<li>French month labels for the \u201cedited\u201d date on the single page<\/li>\n<li>Fix review rate display in the single header<\/li>\n<li>Fix category permalinks<\/li>\n<li>Recreate WordPress categories deleted manually during the next sync<\/li>\n<li>Reassign category terms to formations even when program content is unchanged<\/li>\n<li>Keep cents on formation prices (two decimals when the amount is not a whole number)<\/li>\n<li>Fix trainee required fields, profile\/trainee inputs display, and number fields<\/li>\n<li>Improve form completion message icon and error message background color<\/li>\n<li>Update translations<\/li>\n<li>Documentation and README updates<\/li>\n<\/ul>\n\n<h4>[1.6.3] - 2026-07-07<\/h4>\n\n<ul>\n<li>Create a filter for sessions name<\/li>\n<li>Change color picker<\/li>\n<li>Add required mention at the bottom of the form<\/li>\n<li>Fix remove programs that are no more in Digiforma<\/li>\n<li>Add field list on message error<\/li>\n<li>Fix SEO JSON and add Course Schema<\/li>\n<li>Use API config for base fields <\/li>\n<li>Add all date for sessions in meta<\/li>\n<li>Fix review rate on single header<\/li>\n<\/ul>\n\n<h4>[1.6.2] - 2026-06-16<\/h4>\n\n<ul>\n<li>Fix synchro for sessions<\/li>\n<li>Add hooks comments<\/li>\n<li>Fix line breaks errors<\/li>\n<\/ul>\n\n<h4>[1.6.1] - 2026-05-29<\/h4>\n\n<ul>\n<li>Add trainee in register form<\/li>\n<li>Create a second style for form with shortcode attribute style=\"catalog\"<\/li>\n<li>Add a force sync button to force replace all meta un programms<\/li>\n<li>Adding hook after sync action<\/li>\n<\/ul>\n\n<h4>[1.5.3] - 2026-05-04<\/h4>\n\n<ul>\n<li>Fix rewrite achrive with front<\/li>\n<li>Fix responsive archive for IOS<\/li>\n<li>Add line breaks on single accessibility text  <\/li>\n<\/ul>\n\n<h4>[1.5.2] - 2026-04-25<\/h4>\n\n<ul>\n<li>Hotfix form open div<\/li>\n<li>Add line break in mentoring text<\/li>\n<\/ul>\n\n<h4>[1.5.1] - 2026-04-14<\/h4>\n\n<ul>\n<li>Hotfix single sidebar mobile<\/li>\n<\/ul>\n\n<h4>[1.5.0] - 2026-04-09<\/h4>\n\n<ul>\n<li>Add compatibility with FSE<\/li>\n<li>Fix bullets in the training card list<\/li>\n<li>Add advanced settings for fixed header<\/li>\n<li>Change single header meta design<\/li>\n<li>Add created-at \/ updated-at display<\/li>\n<li>Force permalink rules<\/li>\n<li>Change sidebar order on mobile<\/li>\n<\/ul>\n\n<h4>[1.4.1] - 2026-03-24<\/h4>\n\n<ul>\n<li>Hotfix for duplicate fields in forms<\/li>\n<\/ul>\n\n<h4>[1.4.0] - 2026-03-20<\/h4>\n\n<ul>\n<li>For the registration form: fetch fields from Digiforma<\/li>\n<li>Design changes for next sessions<\/li>\n<li>Fix price display<\/li>\n<li>Display comment for score in training detail page<\/li>\n<li>Add a minimal size for font<\/li>\n<li>Add support for half hour\/day<\/li>\n<li>Do not display empty cards on training detail page<\/li>\n<\/ul>\n\n<h4>[1.3.1] - 2026-02-18<\/h4>\n\n<ul>\n<li>Add French translation<\/li>\n<li>Add missing translations for Spanish and German<\/li>\n<li>Edit labels for administration page to make it clearer<\/li>\n<li>Change color settings<\/li>\n<li>Add an error message when URL identifiers are the same<\/li>\n<li>Fix max capacity when set to false<\/li>\n<\/ul>\n\n<h4>[1.2.1] - 2026-02-12<\/h4>\n\n<ul>\n<li>Add VAT exempted option to display VAT on price<\/li>\n<li>Fix session place<\/li>\n<li>Fix Yoast title compat<\/li>\n<li>Change banner header<\/li>\n<li>Fix admin white screen error<\/li>\n<li>Update categories and formations title when sync<\/li>\n<li>Remove \"\u00e0 partir de\" before price<\/li>\n<li>Change position of video section in single formation template<\/li>\n<li>Display three lines for title in card format<\/li>\n<li>Add space after price for readability<\/li>\n<li>Hide price when it's equal to 0<\/li>\n<li>Add satisfaction rate on single formation template<\/li>\n<\/ul>\n\n<h4>[1.1.2] - 2025-12-29<\/h4>\n\n<ul>\n<li>Fix sanitization of inputs<\/li>\n<li>Fix escaping of outputs<\/li>\n<li>Fix Nonces and User Permissions Before Processing Requests<\/li>\n<\/ul>\n\n<h4>[1.1.1] - 2025-12-16<\/h4>\n\n<ul>\n<li>Fix header informations<\/li>\n<\/ul>\n\n<h4>[1.1.0] - 2025-12-16<\/h4>\n\n<ul>\n<li>Add German translations (de_DE)<\/li>\n<li>Add banner image for training categories<\/li>\n<\/ul>\n\n<h4>[1.0.0] - 2025-12-05<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Synchronize your training catalog and manage pre-registrations for inter, intra, and custom sessions directly from WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/278776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=278776"}],"author":[{"embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/digiforma"}],"wp:attachment":[{"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=278776"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=278776"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=278776"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=278776"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=278776"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/as.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=278776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}