Render WP Gutenberg Block the way you want.
Author: | SquareFlower Websolutions (Lukas Rydygel) (profile at wordpress.org) |
WordPress version required: | 5.0 |
WordPress version tested: | 5.5.14 |
Plugin version: | 0.2.0 |
Added to WordPress repository: | 12-08-2020 |
Last updated: | 03-12-2020
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 0 |
Rated by: | 0 |
Plugin URI: | https://wordpress.org/plugins/jinx-block-rend... |
Total downloads: | 246 |
Active installs: | 10+ |
Click to start download |
The plugin allows you to parse all kinds gutenberg blocks and render them in your own template.
Usage
Use the filter ‘jinx_block_renderers’ in your theme to render gutenberg blocks.
<?php
function my_render_function(array $fields)
{
echo $fields['url'];
}
add_filter('jinx_block_renderers', function($renderers) {
$renderers[] = [
'block' => 'core-embed/youtube', // name of the block
'conditions' => [], // default - accepts an array of key value pairs
// 'conditions' => [
// 'className' => 'is-style-custom', // strings are used inside a regular expression
// 'field' => function($value) { // callbacks will receive the fields value and must return true or false
// return $value === 'some value';
// }
// ],
'fields' => [
'url' => [ // name of your parameter
'path' => '//iframe[@src]',
'item' => 0,
// 'item' => 9, // if not exists, will return null
// 'item': 'first', // constant Jinx\BlockRenderer\Field::ITEM_FIRST
// 'item': 'last', // constant Jinx\BlockRenderer\Field::ITEM_LAST
// 'item': null // default - returns all results as an array
'attr' => 'src',
//'attr' => null // default - returns the results value
//'filter' => 'my_filter_function' // filters each matched field
],
],
// 'insert' => '//*[contains(@class,"wp-block-")]' // default - inserts rendered block back into the block-wrapper
'template' => __DIR__.'/youtube-video.php', // relative path, templates will handle each field as a variable
// 'callback' => 'my_render_function'
];
return $renderers;
});
?>