PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / WP / GutenbergBlock / AmeliaCatalogGutenbergBlock.php
ameliabooking / src / Infrastructure / WP / GutenbergBlock Last commit date
AmeliaBookingGutenbergBlock.php 4 months ago AmeliaCatalogBookingGutenbergBlock.php 4 months ago AmeliaCatalogGutenbergBlock.php 4 months ago AmeliaEventsCalendarBookingGutenbergBlock.php 4 months ago AmeliaEventsGutenbergBlock.php 4 months ago AmeliaEventsListBookingButtonGutenbergBlock.php 2 months ago AmeliaEventsListBookingGutenbergBlock.php 4 months ago AmeliaStepBookingButtonGutenbergBlock.php 2 months ago AmeliaStepBookingGutenbergBlock.php 1 month ago GutenbergBlock.php 1 month ago
AmeliaCatalogGutenbergBlock.php
78 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Infrastructure\WP\GutenbergBlock;
9
10 /**
11 * Class AmeliaCatalogGutenbergBlock
12 *
13 * @package AmeliaBooking\Infrastructure\WP\GutenbergBlock
14 */
15 class AmeliaCatalogGutenbergBlock extends GutenbergBlock
16 {
17 public static function getBlockAttributes(): array
18 {
19 return [
20 'short_code' => ['type' => 'string', 'default' => '[ameliacatalog]'],
21 'trigger' => ['type' => 'string', 'default' => ''],
22 'show' => ['type' => 'string', 'default' => ''],
23 'location' => ['type' => 'string', 'default' => ''],
24 'package' => ['type' => 'string', 'default' => ''],
25 'category' => ['type' => 'string', 'default' => ''],
26 'categoryOptions' => ['type' => 'string', 'default' => ''],
27 'service' => ['type' => 'string', 'default' => ''],
28 'employee' => ['type' => 'string', 'default' => ''],
29 'parametars' => ['type' => 'boolean', 'default' => false],
30 ];
31 }
32
33 public static function renderBlock(array $attributes): string
34 {
35 $shortCode = $attributes['short_code'] ?? '[ameliacatalog]';
36
37 if (strpos($shortCode, '[ameliacatalog') !== 0) {
38 return '';
39 }
40
41 return do_shortcode($shortCode);
42 }
43
44 public static function registerBlockForRendering()
45 {
46 register_block_type(
47 'amelia/catalog-gutenberg-block',
48 array(
49 'attributes' => self::getBlockAttributes(),
50 'render_callback' => array(__CLASS__, 'renderBlock'),
51 )
52 );
53 }
54
55 /**
56 * Register Amelia Catalog block for gutenberg
57 */
58 public static function registerBlockType()
59 {
60 // Enqueue shared icon and styles
61 parent::enqueueSharedIcon();
62 parent::enqueueSharedStyles();
63
64 wp_enqueue_script(
65 'amelia_catalog_gutenberg_block',
66 AMELIA_URL . 'public/js/gutenberg/amelia-catalog/amelia-catalog-gutenberg.js',
67 array('wp-blocks', 'wp-components', 'wp-element', 'wp-block-editor', 'amelia_block_icon')
68 );
69
70 wp_enqueue_style(
71 'amelia_catalog_gutenberg_styles',
72 AMELIA_URL . 'public/js/gutenberg/amelia-catalog/amelia-catalog-gutenberg.css',
73 [],
74 AMELIA_VERSION
75 );
76 }
77 }
78