Move the profile and team permissions to Subscriber on Play
Both profiles_edit_own_profile and profiles_edit_own_team are now granted to the base subscriber role instead of individual add-on roles. A new map_meta_cap filter revokes them on non-Play blogs, preserving previous access boundaries without role proliferation.
profiles_edit_own_profile and profiles_edit_own_team capabilities to the subscriber role in user_roles.json; remove them from team_member, team_coordinator, and organizational_leadprofiles_edit_own_profile and profiles_edit_own_team outside of Play via SIAD_Hooks_map_meta_cap::deny_profiles_caps_outside_play() hooked to map_meta_cap in SIADeployment::map_meta_cap()user_roles static option via SIAD_Hooks_RunUpdates::update_30()New Profile Connector ACF field to track Slack invite
field_6929b112d195c), ‘is_invited_to_slack’ checkbox ACF field to the Profile Connector (system) (group_5be1b47e8776f) field groupPassword protect staging blog(s)
SIA_Deployment_Protect_Staging_Blogs, loaded by SIADeployment::protect_staging_blogs() hooked to template_redirect.env in the STAGING_BLOGS_PASSWORD constantNew session types (Meeing & Tour) and better filtering Event agenda
group_652e72db4fb5c.json)meeting) and Tour (tour) to Time Slots (field_652e72e34fdf6) and Parallel sessions session (field_652ff1c174240) in Event Agenda (group_652e72db4fb5c.json)Add static helpers for email template parts
SIAD_Hooks_WPMail::set_headers()SIAD_Hooks_WPMail::set_headers() by moving helpers into the classSIAD_Hooks_WPMail::get_email_copyright_markup(), moved from Parlament Template helpersSIAD_Hooks_WPMail::get_email_logo_markup(), moved from Parlament Template helpersProfile YouTube embed is back and most fields are not required in config
group_5bbba58adc1ac) and rely on validationsyoutube_video_url) field (field_68ccff40f5496) to the Profile Details ACF group (group_5bbba58adc1ac)The 2023 year in international history in Stencil
field_68c2cfab0a664) in history in Stencil (group_5fccea2a1c2b3)Track two new award slots and 2024 year in history
field_68778fdcfe5b3 and field_68778fe8fe5b7) and 2024 year (field_68778fc7fe5ae) in history in Stencil (group_5fccea2a1c2b3)Track Block condition in Banner
field_682b43bdbfca7) in the Banner ACF group block placeholder (group_6479e28f378e4)Enhance debugging helper to check for single .env constant, use on transients
Test if the environment is debugging on 2 parameters: WP_DEBUG or custom DEBUG_[etc]. When the constant suffix is missing, return WP_DEBUG. When single constant, return its value, ignore WP_DEBUG. Otherwise combine.
SIADeployment::is_debugging() (see method doc)SIADeployment::addDebugInfoToErrorLog() New Elements component block, secondary Features, and realigned Incubation elements
Elements block placeholder ACF field group (field_67ebb7ef83e83) mimicing Features, except using a repeater for Elements (items field_67ebb7ef83f6c) and with no icon sub-fieldvariant (field_67ebdfa0c8260) in the Features ACF group (group_661e78a7e759c) which is 1 checkbox: secondary field_60d1bc952cde6) in SIA Stencil (group_5fccea2a1c2b3) to reflect practical use: it’s 4 specific incubation featuresTrack a background type in the Call to Action ACF group
background_type (field_67d5b3dc4f8e9) in the Call to Action ACF group (group_60def4c641809) which is a radio with 3 options: auto (default), accent, and contrastAllow hard-coded exceptions in the CF7 form validator
WPCF7_Post_Editor::EXCEPTIONS as array and cross-check when validating from Conditional display of Youth Council Candidates ACF block placeholder
Youth Council Candidates block placeholder ACF field group (group_67c0476f3e4d4) New Youth Council specific ACF block placeholders for board candidates and members
Youth Council Candidates block placeholder ACF field group (group_67c0476f3e4d4) Youth Council Members block placeholder ACF field group (group_67c04e8d2defb) New elevated Communications role: Website Coordinator
website_coordinator) role from SIAD_Hooks_RunUpdates::update_29()user_roles local option (user_roles.json) and site meta to duplicate communications_coordinator into website_coordinator, with the Glossary permissions removed, from SIAD_Hooks_RunUpdates::update_28()SIADeployment::ELEVATED_COMMUNICATIONS_ROLE_IDS to allow both to use the iframe element in SIAD_Hooks_wp_kses_allowed_html and not have the manage_options cap in Play in SIAD_Hooks_map_meta_cap::revoke_manage_options_cap_from_elevated_communications_roles()website_coordinator role to the Featured Image ACF group (group_61f01aa600112) rules exclusionscommunications_coordinatorNew Timeline and Section Header ACF block placeholders
Timeline block placeholder ACF field group (group_6797d42d367a8) with a Dates repeaterSection Header block placeholder ACF field group (group_6797b6dd6447d) with a heading, supra and sub-headings, and a decoGrid layout for Resources block
field_67890750ff1a4) with list and grid as options to the Resources collection block group (group_6729f91c5cc26)New video embed for Profile ACF group
“Hotfix” added retroactively from cb49366f9
youtube_video_url) field (field_678918e36c272) to the Profile Details ACF group (group_5bbba58adc1ac)New background variants in the Banner ACF group
group_6479e28f378e4)Validate Contact Form 7 forms with Cloudflare Turnstile
This is the actual release, as the previous minor only added the Turnstile widget.
SIADeployment::wpcf7_spam() hooked into wpcf7_spam via SIADeployment::__construct()Include Cloudflare Turnstile in Contact Form 7 forms
SIADeployment::wpcf7_form_elements() hooked into wpcf7_form_elements via SIADeployment::__construct()Add specific Facilitators field to Event Agenda time slots
facilitators to the ‘Time slot’ field (field_673f86085269e) of Event Agenda (group_652e72db4fb5c)Add custom one-liner text to Event Agenda dates
oneLiner to the ‘Date’ field of Event Agenda (group_652e72db4fb5c)Updated Event Agenda time slot types
admin and wellbeing to the ‘Type’ field of Event Agenda (group_652e72db4fb5c)CLI command to flush a public site’s or the public network sites’ cache
--site or --network parameter and calls SIA_Deployment_WP_CLI::flush_w3tc()New block ACF placeholders for Mailing List Subscription CTA and Mailjet embedded form
Mailing List Subscription CTA block placeholder ACF field group (group_672b28f464732) with a heading, lead, mailing list id (Mailjet only) and additional opt-in listsMailjet embedded form block placeholder ACF field group (group_672b48d886f84) with a field for the form id and one for the container element IDNew block ACF placeholders for Resources and Resource Details
Resources block placeholder ACF field group (group_6729f91c5cc26) with a heading, lead, and an option to show items in modalsResource Details block placeholder ACF field group (group_6729f0362e858) with a field for the Youtube embedDisplay X as the WSL provider for Twitter
wsl_render_auth_widget_alter_provider_name with priority 9 and replace “Twitter” with “X” at render timeInclude a landing page option in the CTA block
aap_landing_page (field_669fb6b642efe) in the Call to Action ACF group (group_60def4c641809) which is a radio with 2 options: url (default) and registration_urlget_current_screen() exists (it only does in admin) in the SIAD_Hooks_pre_option::whl_redirect_admin() method hooked to pre_option_whl_redirect_admin and pre_site_option_whl_redirect_admin via SIADeployment::pre_option()Include a view mode in Global events block
view_mode (field_662a40b1f90c6) in the Global events ACF group (group_62ee5bce09e6d)Configurable Banner variants, new Features block and Publishing page controls ACF groups
group_6479e28f378e4)Features block placeholder ACF field group (group_661e78a7e759c) with a heading, lead, and a group of 3 sub-groups of icon, title, and textPublishing page configuration ACF field group (field_66212a6ec01d0) visible on non-Play blogs’ page with 3 controls: is a landing page, excluded regions, and a theme override (for now available to Super Admin)New view mode config in Events ACF block form
view_mode (field_661693f21bc91) in the Events field group (group_60f2f37f31ed1)New set-aap-constants CLI command to update local A&AP constant importables
sia set-aap-constants WP CLI subcommand for SIA_Deployment_WP_CLI::set_aap_constants() that works locally, loads the A&AP, and calls its set_application_platform_constant_importables().Add the sia list-aaps CLI command to list AAPs
SIA_Deployment_WP_CLI::list_aaps() that iterates team blogs and looks for an existing AAP and outputs a table (except when --skip-summary is set).Add a Publishing ACF group and a view mode to Partners ACF group
group_655750747ed17) field group used by non-team websites (microsites for now)field_655b5a71b2389) to Partners (group_60f18ca558943) field group with 2 options: logo and teaserAdd Speakers to parallel sessions in Event Agenda ACF group
field_654e15b0dbf03) to Event agenda (group_652e72db4fb5c) field group’ Sessions fieldNew Entity embed ACF group tracked
group_6537bbc51c5b0) field group used by the Entity embed Gutenberg block and takes 2 parameters: a post (entity_id) of Venue or Event type and a view mode (view_mode) that’s either teaser (default) or list-itemNew Event agenda ACF group tracked
group_652e72db4fb5c) field group used by the Event agenda blockNew Eventbrite embedded checkout ACF group tracked
group_651fe0704dac5) field group used by the Eventbrite checkout block--skip-summary argument for the list-websites CLI commandRefactor the admin class name and use repo version for admin CSS
wordpress-admin.css to the new WANDA_VERSION constant that tracks the repo versionSIADeploymentAdmin into the standard SIA_Deployment_AdminNew Banner ACF group tracked
group_6479e28f378e4) field group used by the Banner blockWrite debug info to PHP error log or Query Monitor
qm/debug) in the renamed SIADeployment::addDebugInfoToQMLogs()error_log in SIADeployment::addDebugInfoToErrorLog() for persistent logsSIAD_Hooks_RunUpdates::update_1() to get rid of useless Intellisense errorsRemove WP Mail SMTP from admin bar
SIAD_Hooks_wp_before_admin_bar_render hooked to wp_before_admin_bar_renderFurther limit access to Gravity Forms
Update the roles variable to allow only access to entries for Communications Coordinator, Editor, Form editor, and Website manager.
user_roles.json to remove all permissions for Form editing or creatingAdd arbitrary debug info to the browser console or Timber context
Create a helper that adds debug details to the current user meta while debugging and another one that adds the info to the footer as JSON.
SIADeployment::is_debugging() static helper checking for the WP_DEBUG constantSIADeployment::addToDebugInfo() static that adds blog id dependent data to the current user’s meta as arraysaddDebugInfoToConsole() static that outputs a console.log() JS call of the user meta debug info as JSON and is hooked to wp_footer addDebugInfoToContext() static that adds a debugInfo array at the top of the Timber context and can be hooked to timber/contextUpdate the “Profiles” ACF group to allow multiple “Community role” and add “Only featured”
field_644a889ca8c5e) to the “Profiles” (group_60f06bfda8396) groupAdd “Partnership tiers” to organizations ACF field groups
field_644823fbaf378) field of type partnership_tier to the “Organization Details” (group_5e4ec467e4c77) groupfield_6447f5c00c0fd) checkbox to the SIA Implementation (group_60d48950c0647) groupfield_644801e027030) checkbox to the SIA Implementation group and use it to conditionally display the “Partnership levels” fieldfield_64480c73e1d12) of type localizer to the Implementation group“Suspended” field in licensee Organizations and universal assets
disabled to checkboxes that have the form-element--disabled class to circumvent the impossibility to disable a true/false ACF field (a checkbox)admin.css) and scripts (admin.js) loaded from SIAD_Hooks_AdminEnqueueScripts::__construct() hooked to admin_enqueue_scriptsis_suspended (field_6422d86959d97) field to the Organization License Management field group (group_5bd044108e928)lead (field_63517f4ace3dd) field’s type to Text area in the Get in touch field group (group_63517f4abdc8e)Add “Is transitioning” field to Organization license management
is_transitioning (field_641310f57b58c) field to the Organization License Management field group (group_5bd044108e928)Add ‘restricted’ and ‘stylesheet’ to WP CLI websites report
SIA_Deployment_WP_CLI::list_websites() called by the list-websites commandDeclutter the Cookie Notice admin page
non-super-admin.css and hide everything under .cn-options but the text and button textSimplify Stencil and Implemention UX and API dates data
group_60d48950c0647) to mention “(all time)” for all KPIs group_5fccea2a1c2b3) to change Application timelines date fields type into pure text given that the values come from the “API”Include the Lead generator details in the CTA group
group_60def4c641809) to show a group called “Lead generator” (field_63ff61e673378) when a block condition is true with 3 fields: heading, lead, and GDPR notice.Improve admin UI and tighten enforcement of sensitive options
admin-wordpress.css for ‘development’ and is_super_admin() too from SIAD_Hooks_AdminEnqueueScripts because now the admin-wordpress.css rules target role and env classesbody class via SIADeployment::body_class() that is hooked to both body_class (array arguments) and admin_body_class (string argument)SIADeploymentAdmin::__construct(): ‘blog_public’, ‘show_on_front’, ‘timezone_string’, ‘whl_page’, ‘whl_redirect_admin’, and ‘WPLANG’disabled by adding the form-element--disabled rules to non-super-admin.css and adding the class from non-super-admin.jsoptions-reading.php in the list of menu items made unavailable from SIAD_Hooks_AdminMenuPT font families to the admin pages via SIAD_Hooks_AdminEnqueueScripts SIADeployment::remove_default_google_fonts() hooked to gettext_with_contextUpdate all placeholder ACF groups and duplicate Stecil fields in Implementation
group_5fccea2a1c2b3) for better readibility group_60d48950c0647)prefix_name option set to 1)Update references to Wanda and field group locations
group_5fc940ca608e0) and ‘Redirection (v20.21)’ (group_63accf70ad0b1) to use the new stylesheet location conditionSIAD_Hooks_AdminEnqueueScripts references and replace ‘2021’ with ‘Wanda’SIAD_Hooks_ActivatedPlugin) behavior when it’s only activated on a single blogAdd ‘22 and ‘21 to the History ACF group
field_60d0d1248c0ce) in the SIA Stencil group (group_5fccea2a1c2b3)Updated Profile Details ACF group to fix
field_63a982964c582) field type in Profile Details group (group_5bbba58adc1ac)New Event Details ACF group
group_63c679e1b4f4a)field_63a982964c582)Load admin layout styles from the design library
SIAD_Hooks_AdminEnqueueScriptsNew Board members ACF block
group_63b2dead7e625) containing: Heading, Lead, SIA Team Member Role, basically a clone of Local TeamUse the newly provided ACF fields from Profiles
field_5fd8b96a53232, using the new sia_profile from Profiles) in Testimonial details (group_5fd27bee7e337)field_63a982964c582, using the new sia_venture from Profiles) into 2 fields in Profiles details (group_5bbba58adc1ac)Fix VP local alumni community clone reference
field_63a19746f55d6) in VP local alumni community group (group_60d4acace2d57)Add the International Campaign field to CTA Forwarder ACF group
field_63a05537ba3c1) to the Call to Action Forwarder group (group_62ee66add482a)field_60d1bd012cded) by turning it into wysiwygfield_61bb202960079) missing field name of Eligibility check (field_61bb20296007a) in SIA StencilPrepare Page lead ACF group for landing pages and vision statement replacement
field_6399e9387a022) to Page Lead (group_61361d2c976d3): Variant checkboxes (field_6399e9cf7a023) for Blend-in and Compact; Remove breadcrumbs bool (field_639b1017dd6c8); Replace title with Vision Statement (field_639b1017dd6c8) boolVariant field in Info Box field group
field_6398572b3dd69) field to Info Box group (group_624421d81b2a9)Sync KPI fields in Stencil and Implementation
group_5fccea2a1c2b3) KPI sectiongroup_63974dc285c60)group_60d48950c0647)Adjust sizes of text blocks to match content and fix Program outline block.
group_5fccea2a1c2b3) by replacing text fields with text areas where the text was too long;group_6241cad35e93f).More link is an option in Articles ACF group and team member ‘Roles’ in Local team
group_60f15b0b4ed5e);group_6287b44420db0) that is limited to community roles that are also team member roles;group_63517f4abdc8e).New “Get in touch” ACF field group
group_63517f4abdc8e) containing: Heading, Lead, SIA Team Member, and Url;group_60f06bfda8396);group_60d4b7334233c) clone reference to point to its corresponding ‘SIA Stencil’ field group.Add “Candidate support” role and its “bypass” permission
SIAD_Hooks_RunUpdates::update_24() to add the ‘Candidate support (add-on)’ role granted the bypass_access_level_1 access level. Include the website language in the CLI list-websites table
'lang' column in SIA_Deployment_WP_CLI::list_websites().Block login and password recovery for @somewhe.re accounts
After Mailjet limited sending because of a brute force recovery attempt for 75735@somewhe.re
SIADeployment::block_login_for_anonymized_users() hooked to wp_authenticate_user; SIADeployment::block_password_recovery_for_anonymized_users() hooked to lostpassword_post; Hide the Jetpack admin menu and fix CTA, Callout, and Page section ACF groups
[page_for_privacy_policy] shortcode in group_60def4c641809.json;impact_field_theme field id for “Theme” in Call to action (group_60def4c641809), Page section (group_60ddc51fbca93) and Callout (group_60def1b5c0f28);admin_menu hook implementation by switching to admin_init in SIADeploymentAdmin::__construct();__return_false to login_display_language_dropdown from SIADeployment::__construct().New ACF groups for “Global events agenda” and “Community Voting”; “Topic” field for event field groups
group_62ee5bce09e6d) ACF field group to fetch a number of topical events from across the SIA network;group_60f2f37f31ed1) and “Global events agenda” (group_62ee5bce09e6d);group_60f2f37f31ed1);group_62eec4400aeab) to use as a block on the “community-voting-host” layout and display Finalist Ventures and the voting bulletin. Give access to “Privacy” settings for roles with the “manage_options” permission
SIAD_Hooks_map_meta_cap::map_privacy_options_to_manage_options() hooked to map_meta_capFix “Stencil” settings group and “Profiles” field groups; add new “Local team” and “Program timeline” groups
Include number of entries in the ‘contact_forms’ subcommand table output
SIA_Deployment_WP_CLI::list_contact_forms() WP CLI subcommand and remove Mail (2) columns;--verbose parameter in SIA_Deployment_WP_CLI::fix_contact_forms() WP CIL subcommand to display full form details;id property with id() method of WPCF7_ContactForm class in WPCF7_Post_Editor::wpcf7_validate_form_editor();Release the CF7 ‘additiona_headers’ and auto-responder ‘recipient’ when the default ‘your-email’ field is absent from the form
Validate contact forms during editing to ensure safe defaults and add fix existing forms with a WP CLI subcommand
non-super-admin.js;WPCF7_Post_Editor::wpcf7_editor_panel_mail() as a panel callback from WPCF7_Post_Editor::overwrite_contact_form_edit_mail_panel() hooked to wpcf7_editor_panels;WPCF7_Post_Editor::wpcf7_validate_form_editor() hooked to wpcf7_after_create and wpcf7_after_update in SIADeploymentAdmin::__construct();SIA_Deployment_WP_CLI::fix_contact_forms() that uses WPCF7_Post_Editor::wpcf7_validate_form_editor() to check for issues and, when the --execute flag is used, update post meta. Create the ‘contact-forms’ WP CLI command to audit CF7 forms configurations
SIA_Deployment_WP_CLI and run it from loader.php;SIA_Deployment_WP_CLI::list_contact_forms) WP CLI subcommand to audit Contact FormSIA_Deployment_WP_CLI::list_websites()) WP CLI subcommand based upon the misplaced and removed SIA_Publishing_WP_CLI::list_websites()cfdb7_access to “Editor” and “Administrator” roles;user_roles.json static option.Update 23: Set default values for CF7 Honeypot
Provide an object to array converter static helper function in includes/functions.php::object_to_array()
Update ACF call to action field groups to target layout_slugs instead of post ids
Fix: Replace Profile Details and Organization Details social urls repeater with maintainable group field type
Include the new “A&AP Reports” page in the top menu items via SIAD_Hooks_MenuOrder::reorder_admin_menu()
edit_published_organizationss and edit_others_organizationss to “Team member” role via SIAD_Hooks_RunUpdates::update_22() and user_roles.json static optionlog.md or manage the file (create or delete) via the SIADeployment::createLog(), SIADeployment::emptyLog(), and SIADeployment::writeLog()Fix Admin Bar clean-up working only in admin by moving SIAD_Hooks_wp_before_admin_bar_render and its hook into class-sia-deployment
Fix “Performance” admin menu being visible to Editors
Allow “Broken Links” in the “Tools” admin menu by including it in SIAD_Hooks_AdminMenu
Improved admin bar and cleaner permissions
SIAD_Hooks_wp_before_admin_bar_render to wp_before_admin_bar_renderrank_math_content_ai from every roleRemove theme update notice via the site_transient_update_themes filter in SIADeployment::__construct()
Remove W3TC cache comments via w3tc_footer_comment filter in SIADeployment::__construct()
Remove sitemap credits for Rank Math
Allow “iframe” for Editor on all non-team blogs
Include language and theme in network sites table
Migrate the WSL config alter hook to Ariel
Intercept email from development environment
Add field groups for Gutenberg blocks and update SIA Stencil and SIA Website
Remove “Role” from “Team Member Management” ACF field group
Use “Community Role” in Profile ACF field group
Update fields groups JSON
Grant Communications Coordinator manage_options, but filter it on Play
Update User Roles to fix RankMath access
Track the new options of the “Access level” post meta box
Allow “iframe” for editor on Play
Register the Selection Process block and field group with ACF
Stop the hide login redirect for users that logged in once
Allow “iframe” for communications_coordinator; Fix User Roles
Restore the “Custom CSS” for users with edit_theme_options access
Fix Rank Math status menu item shown to low access users
Update ACF groups that mention ‘Scaling Lead’
Update User Roles static to improve Communications Coordinator
Clean-up Appearance admin submenu
Update Testimonial details ACF
Update Rank Math modules, add User Roles to static config
Revamped ACG groups to manage post types in publishing blogs
Show ACF UI in Sencil, provide post type registration abstract
Add JSON settings sync mechanism, use for Rank Math modules
Clean-up Rank Math admin submenu
Move Rank Math in the settings section
Unhide Rank Math from admin menu
Fix missing role check of Publishing ACF group
Track the SIA Website field group, bring in ACF sync static method
Track the Publishing (v20.21) field group
Brand admin, update ACF group “Organization license” permissions
Track new ‘Wordpress properties’ Teams ACF field.
Fix missing Reply-To header when sent over Mailjet.