Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .plugin-data
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"version": "1.1.1",
"version": "1.1.2",
"slug": "blockparty-iframe"
}
6 changes: 5 additions & 1 deletion .wordpress-org/blueprints/blueprint.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"pluginData": {
"resource": "git:directory",
"url": "https://github.com/BeAPI/blockparty-iframe",
"ref": "1.1.1",
"ref": "1.1.2",
"refType": "tag"
},
"options": {
Expand All @@ -24,6 +24,10 @@
"username": "admin",
"password": "password"
},
{
"step": "runPHP",
"code": "<?php\nrequire_once 'wordpress/wp-load.php';\n$dir = WP_CONTENT_DIR . '/mu-plugins';\nif ( ! is_dir( $dir ) ) {\n\twp_mkdir_p( $dir );\n}\n$file = $dir . '/blockparty-iframe-playground-kses.php';\n$mu_plugin = <<<'BLOCKPARTY_IFRAME_MU'\n<?php\nadd_filter( 'wp_kses_allowed_html', function( $tags, $context ) {\n\tif ( 'post' !== $context ) {\n\t\treturn $tags;\n\t}\n\t$tags['iframe'] = array(\n\t\t'src' => true,\n\t\t'class' => true,\n\t\t'style' => true,\n\t\t'id' => true,\n\t\t'loading' => true,\n\t\t'title' => true,\n\t);\n\treturn $tags;\n}, 10, 2 );\nBLOCKPARTY_IFRAME_MU;\nfile_put_contents( $file, $mu_plugin . \"\\n\" );\necho file_exists( $file ) ? 'mu-plugin installed' : 'mu-plugin failed';\n?>"
},
{
"step": "runPHP",
"code": "<?php require_once 'wordpress/wp-load.php'; $page_content = '<!-- wp:blockparty/iframe {\"title\":\"Johannes Gutenberg — Wikipédia\",\"url\":\"https://en.wikipedia.org/wiki/Johannes_Gutenberg\",\"align\":\"wide\"} -->\n<div class=\"wp-block-blockparty-iframe alignwide\"><iframe title=\"Johannes Gutenberg — Wikipédia\" src=\"https://en.wikipedia.org/wiki/Johannes_Gutenberg\" loading=\"eager\"></iframe></div>\n<!-- /wp:blockparty/iframe -->'; $page_id = wp_insert_post( array( 'post_title' => 'Blockparty Iframe', 'post_name' => 'blockparty-iframe-demo', 'post_content' => $page_content, 'post_status' => 'publish', 'post_type' => 'page' ) ); echo 'Page created with ID: ' . $page_id; ?>"
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/).

## [1.1.2] - 2026-04-21

### Fixed

- **WordPress.org Playground blueprint**: Generate the demo mu-plugin via a nowdoc so the `wp_kses_allowed_html` iframe allowlist is written as syntactically valid PHP (the previous line-by-string approach could produce a broken file and fatal the Playground). The blueprint `pluginData.ref` now targets tag `1.1.2`.

### Removed

- **Psalm static analysis**: Removed `vimeo/psalm`, `humanmade/psalm-plugin-wordpress`, and `psalm.xml.dist`; dropped the `psalm` Composer script and the Grumphp Psalm task so the dev toolchain relies on PHPCS, PHP parallel lint, and related tooling only (leaner `composer.lock` / install).

## [1.1.1] - 2026-04-20

### Fixed
Expand Down Expand Up @@ -131,6 +141,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).

---

[1.1.2]: https://github.com/BeAPI/blockparty-iframe/releases/tag/1.1.2
[1.1.1]: https://github.com/BeAPI/blockparty-iframe/releases/tag/1.1.1
[1.1.0]: https://github.com/BeAPI/blockparty-iframe/releases/tag/1.1.0
[1.0.2]: https://github.com/BeAPI/blockparty-iframe/releases/tag/1.0.2
Expand Down
4 changes: 2 additions & 2 deletions blockparty-iframe.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/**
* Plugin Name: Blockparty Iframe
* Description: Add a block to display an embedded frame in the WordPress editor.
* Version: 1.1.1
* Version: 1.1.2
* Requires at least: 6.7
* Requires PHP: 8.1
* Author: Be API Technical team
Expand All @@ -19,7 +19,7 @@
exit; // Exit if accessed directly.
}

define( 'BLOCKPARTY_IFRAME_VERSION', '1.1.1' );
define( 'BLOCKPARTY_IFRAME_VERSION', '1.1.2' );
define( 'BLOCKPARTY_IFRAME_URL', plugin_dir_url( __FILE__ ) );
define( 'BLOCKPARTY_IFRAME_DIR', plugin_dir_path( __FILE__ ) );
define( 'BLOCKPARTY_IFRAME_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
Expand Down
19 changes: 10 additions & 9 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,20 @@
"name": "beapi/blockparty-iframe",
"description": "Add a block to display an embedded frame in the WordPress editor.",
"type": "wordpress-plugin",
"keywords": ["wordpress", "plugin", "block", "iframe", "editor"],
"keywords": [
"wordpress",
"plugin",
"block",
"iframe",
"editor"
],
"license": "GPL-2.0-or-later",
"authors": [
{
"name": "BeAPI",
"email": "technical@beapi.fr",
"homepage":"https://beapi.fr",
"role":"Company"
"homepage": "https://beapi.fr",
"role": "Company"
}
],
"config": {
Expand All @@ -32,29 +38,24 @@
},
"require-dev": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.2",
"humanmade/psalm-plugin-wordpress": "^2.0",
"php-parallel-lint/php-parallel-lint": "^1.3",
"phpcompatibility/php-compatibility": "^9.3",
"phpro/grumphp-shim": "^1.5",
"roave/security-advisories": "dev-latest",
"roots/wordpress-no-content": "^6.0",
"squizlabs/php_codesniffer": "^3.7",
"vimeo/psalm": "~4.23.0",
"wp-cli/wp-cli": "^2.6",
"wp-coding-standards/wpcs": "^3.0"
},
"autoload-dev": {
},
"autoload-dev": {},
"scripts": {
"cs": "./vendor/bin/phpcs",
"cb": "./vendor/bin/phpcbf",
"psalm": "./vendor/bin/psalm",
"phpunit": "phpunit"
},
"scripts-descriptions": {
"cs": "Run PHP CodeSniffer on codebase using custom ruleset.",
"cb": "Run PHP Code Beautifier and Fixer on codebase using custom ruleset.",
"psalm": "Run psalm on codebase using custom ruleset.",
"phpunit": "Run PHP unit tests."
}
}
Loading
Loading