diff options
Diffstat (limited to 'plugins/jetpack/extensions/blocks/conversation/conversation.php')
-rw-r--r-- | plugins/jetpack/extensions/blocks/conversation/conversation.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/plugins/jetpack/extensions/blocks/conversation/conversation.php b/plugins/jetpack/extensions/blocks/conversation/conversation.php new file mode 100644 index 00000000..b9de4caa --- /dev/null +++ b/plugins/jetpack/extensions/blocks/conversation/conversation.php @@ -0,0 +1,51 @@ +<?php +/** + * Conversation Block. + * + * @since 9.3.0 + * + * @package automattic/jetpack + */ + +namespace Automattic\Jetpack\Extensions\Conversation; + +use Automattic\Jetpack\Blocks; +use Jetpack_Gutenberg; + +const FEATURE_NAME = 'conversation'; +const BLOCK_NAME = 'jetpack/' . FEATURE_NAME; + +/** + * Registers the block for use in Gutenberg + * This is done via an action so that we can disable + * registration if we need to. + */ +function register_block() { + $deprecated = function_exists( 'gutenberg_get_post_from_context' ); + $provides = $deprecated ? 'providesContext' : 'provides_context'; + + Blocks::jetpack_register_block( + BLOCK_NAME, + array( + 'render_callback' => __NAMESPACE__ . '\render_block', + $provides => array( + 'jetpack/conversation-participants' => 'participants', + 'jetpack/conversation-showTimestamps' => 'showTimestamps', + ), + ) + ); +} +add_action( 'init', __NAMESPACE__ . '\register_block' ); + +/** + * Conversation block registration/dependency declaration. + * + * @param array $attr Array containing the Conversation block attributes. + * @param string $content String containing the Conversation block content. + * + * @return string + */ +function render_block( $attr, $content ) { + Jetpack_Gutenberg::load_assets_as_required( FEATURE_NAME ); + return $content; +} |