PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 3.0.3
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v3.0.3
4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / BlockLibrary / BlockAnchorSupportService.php
surecart / app / src / BlockLibrary Last commit date
BlockAnchorSupportService.php 1 year ago BlockPatternsService.php 1 year ago BlockService.php 1 year ago BlockServiceProvider.php 1 year ago BlockStylesService.php 1 year ago BlockValidationService.php 2 years ago CartMenuIconMigrationService.php 1 year ago CartMigrationService.php 1 year ago FormModeSwitcherService.php 1 year ago ProductCollectionBadgesMigrationService.php 1 year ago ProductListMigrationService.php 1 year ago ProductListService.php 1 year ago ProductPageBlocksMigrationService.php 1 year ago ProductPriceChoicesMigrationService.php 1 year ago ProductSelectedPriceMigrationService.php 1 year ago ProductVariantsMigrationService.php 1 year ago URLParamService.php 1 year ago
BlockAnchorSupportService.php
74 lines
1 <?php
2
3 namespace SureCart\BlockLibrary;
4
5 /**
6 * Provide anchor support for blocks.
7 */
8 class BlockAnchorSupportService {
9 /**
10 * Register anchor support
11 *
12 * @param WP_Block_Type $block_type Block Type.
13 *
14 * @return void
15 */
16 public function registerAnchorSupport( $block_type ) {
17 $has_anchor_support = block_has_support( $block_type, 'anchor', false );
18
19 if ( $has_anchor_support ) {
20 if ( ! $block_type->attributes ) {
21 $block_type->attributes = array();
22 }
23
24 if ( ! array_key_exists( 'anchor', $block_type->attributes ) ) {
25 $block_type->attributes['anchor'] = array(
26 'type' => 'string',
27 );
28 }
29 }
30 }
31
32 /**
33 * Add the anchor to the output.
34 *
35 * @param WP_Block_Type $block_type Block Type.
36 * @param array $block_attributes Block attributes.
37 *
38 * @return array Block CSS classes and inline styles.
39 */
40 public function applyAnchorSupport( $block_type, $block_attributes ) {
41 // exclude kadence blocks.
42 if ( isset( $block_attributes['kbVersion'] ) ) {
43 return $block_attributes;
44 }
45
46 $has_anchor_support = block_has_support( $block_type, 'anchor', false );
47 $attributes = array();
48 if ( $has_anchor_support ) {
49 $has_anchor = array_key_exists( 'anchor', $block_attributes );
50
51 if ( $has_anchor ) {
52 $attributes['id'] = $block_attributes['anchor'];
53 }
54 }
55
56 return $attributes;
57 }
58
59 /**
60 * Register block support.
61 *
62 * @return void
63 */
64 public function bootstrap() {
65 \WP_Block_Supports::get_instance()->register(
66 'anchor',
67 array(
68 'register_attribute' => [ $this, 'registerAnchorSupport' ],
69 'apply' => [ $this, 'applyAnchorSupport' ],
70 )
71 );
72 }
73 }
74