PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3
Jetpack – WP Security, Backup, Speed, & Growth v16.3
16.3 16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 All 508 releases
← All changes | extensions/blocks/voice-to-content/voice-to-content.php +25 -15 13.2.4 → 16.3 View file →
@@ -9,10 +9,13 @@
9 9
10 10 namespace Automattic\Jetpack\Extensions\Voice_To_Content;
11 11
12 12 use Automattic\Jetpack\Blocks;
13 -use Jetpack_Gutenberg;
14 13
14 +if ( ! defined( 'ABSPATH' ) ) {
15 + exit( 0 );
16 +}
17 +
15 18 /**
16 19 * Registers our block for use in Gutenberg
17 20 * This is done via an action so that we can disable
18 21 * registration if we need to.
@@ -17,12 +20,24 @@
17 20 * This is done via an action so that we can disable
18 21 * registration if we need to.
19 22 */
20 23 function register_block() {
21 - Blocks::jetpack_register_block(
22 - __DIR__,
23 - array( 'render_callback' => __NAMESPACE__ . '\load_assets' )
24 - );
24 + /**
25 + * Register the block only if we are on an A8C P2 site.
26 + * TODO: when opening it to Jetpack sites, do the same checks
27 + * we do on the AI Assistant block: the AI master gate
28 + * and the Jetpack connection:
29 + * - \Jetpack_AI_Settings::is_ai_enabled()
30 + * - ( new Host() )->is_wpcom_simple() || ! ( new Status() )->is_offline_mode()
31 + */
32 + if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
33 + if ( function_exists( 'wpcom_is_automattic_p2_site' ) && wpcom_is_automattic_p2_site() ) {
34 + Blocks::jetpack_register_block(
35 + __DIR__,
36 + array( 'render_callback' => __NAMESPACE__ . '\load_assets' )
37 + );
38 + }
39 + }
25 40 }
26 41 add_action( 'init', __NAMESPACE__ . '\register_block' );
27 42
28 43 /**
@@ -27,8 +42,11 @@
27 42
28 43 /**
29 44 * "Voice to content" block registration/dependency declaration.
30 45 *
46 + * The render implementation lives in render.php and is only loaded when the
47 + * block is actually rendered, keeping it out of the eager front-end path.
48 + *
31 49 * @param array $attr Array containing the "Voice to content" block attributes.
32 50 * @param string $content String containing the "Voice to content" block content.
33 51 *
34 52 * @return string
@@ -33,15 +51,7 @@
33 51 *
34 52 * @return string
35 53 */
36 54 function load_assets( $attr, $content ) {
37 - /*
38 - * Enqueue necessary scripts and styles.
39 - */
40 - Jetpack_Gutenberg::load_assets_as_required( __DIR__ );
41 -
42 - return sprintf(
43 - '<div class="%1$s">%2$s</div>',
44 - esc_attr( Blocks::classes( Blocks::get_block_feature( __DIR__ ), $attr ) ),
45 - $content
46 - );
55 + require_once __DIR__ . '/render.php';
56 + return load_assets_implementation( $attr, $content );
47 57 }