PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.5
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.5
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 13.7.2 13.8.3 All 506 releases
← All changes | extensions/blocks/sharing-buttons/sharing-buttons.php +21 -25 13.0.2 → 16.3-a.5 View file →
@@ -9,8 +9,13 @@
9 9
10 10 namespace Automattic\Jetpack\Extensions\Sharing_Buttons;
11 11
12 12 use Automattic\Jetpack\Blocks;
13 +
14 +if ( ! defined( 'ABSPATH' ) ) {
15 + exit( 0 );
16 +}
17 +
13 18 /**
14 19 * Registers the block for use in Gutenberg
15 20 * This is done via an action so that we can disable
16 21 * registration if we need to.
@@ -15,35 +20,26 @@
15 20 * This is done via an action so that we can disable
16 21 * registration if we need to.
17 22 */
18 23 function register_block() {
19 - Blocks::jetpack_register_block( __DIR__ );
24 + Blocks::jetpack_register_block(
25 + __DIR__,
26 + array( 'render_callback' => __NAMESPACE__ . '\render_block' )
27 + );
20 28 }
21 29 add_action( 'init', __NAMESPACE__ . '\register_block' );
22 30
23 31 /**
24 - * Add the services list to the block
32 + * Sharing Buttons block registration/dependency declaration.
33 + *
34 + * The render implementation lives in render.php and is only loaded when the
35 + * block is actually rendered, keeping it out of the eager front-end path.
36 + *
37 + * @param array $attr Array containing the Sharing Buttons block attributes.
38 + * @param string $content String containing the Sharing Buttons block content.
39 + *
40 + * @return string
25 41 */
26 -function add_sharing_buttons_block_data() {
27 - $services = array(
28 - 'print',
29 - 'facebook',
30 - 'linkedin',
31 - 'mail',
32 - 'mastodon',
33 - 'pinterest',
34 - 'pocket',
35 - 'reddit',
36 - 'telegram',
37 - 'tumblr',
38 - 'whatsapp',
39 - 'x',
40 - 'nextdoor',
41 - );
42 -
43 - wp_add_inline_script(
44 - 'jetpack-block-sharing-button',
45 - 'var jetpack_sharing_buttons_services = ' . wp_json_encode( $services, JSON_HEX_TAG | JSON_HEX_AMP ) . ';',
46 - 'before'
47 - );
42 +function render_block( $attr, $content ) {
43 + require_once __DIR__ . '/render.php';
44 + return render_block_implementation( $attr, $content );
48 45 }
49 -add_action( 'enqueue_block_assets', __NAMESPACE__ . '\add_sharing_buttons_block_data' );