PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.9.2
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.9.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 / BlockPatternsService.php
surecart / app / src / BlockLibrary Last commit date
BlockPatternsService.php 3 years ago BlockService.php 3 years ago BlockServiceProvider.php 3 years ago
BlockPatternsService.php
111 lines
1 <?php
2
3 namespace SureCart\BlockLibrary;
4
5 /**
6 * Provide general block-related functionality.
7 */
8 class BlockPatternsService {
9 /**
10 * Block patterns to register.
11 *
12 * @var array
13 */
14 protected $patterns = [];
15
16 /**
17 * Block patterns categories to register.
18 *
19 * @var array
20 */
21 protected $categories = [];
22
23 /**
24 * Set categories and patterns.
25 */
26 public function __construct() {
27 $this->categories = [
28 'surecart_form' => [ 'label' => __( 'Checkout Form', 'surecart' ) ],
29 ];
30
31 $this->patterns = [
32 'default',
33 'full-page',
34 'simple',
35 'sections',
36 'two-column',
37 'donation',
38 'invoice',
39 ];
40 }
41
42 /**
43 * Bootstrap the service.
44 *
45 * @return void
46 */
47 public function bootstrap() {
48 add_action( 'init', [ $this, 'registerPatternsAndCategories' ], 9 );
49 }
50
51 /**
52 * Register block patterns and
53 */
54 public function registerPatternsAndCategories() {
55 // $this->registerCategories();
56 $this->registerPatterns();
57 }
58
59 /**
60 * Register block pattern categories.
61 *
62 * @return void
63 */
64 public function registerCategories() {
65 /**
66 * Filters the block pattern categories.
67 *
68 * @param array[] $categories {
69 * An associative array of block pattern categories, keyed by category name.
70 *
71 * @type array[] $properties {
72 * An array of block category properties.
73 *
74 * @type string $label A human-readable label for the pattern category.
75 * }
76 * }
77 */
78 $this->categories = apply_filters( 'surecart/blocks/pattern_categories', $this->categories );
79
80 foreach ( $this->categories as $name => $properties ) {
81 if ( ! \WP_Block_Pattern_Categories_Registry::get_instance()->is_registered( $name ) ) {
82 register_block_pattern_category( $name, $properties );
83 }
84 }
85 }
86
87 /**
88 * Register our block patterns.
89 *
90 * @return void
91 */
92 public function registerPatterns() {
93 /**
94 * Filters the plugin block patterns.
95 *
96 * @param array $patterns List of block patterns by name.
97 */
98 $this->patterns = apply_filters( 'surecart/blocks/patterns', $this->patterns );
99
100 // loop through patterns and register.
101 foreach ( $this->patterns as $block_pattern ) {
102 $pattern_file = plugin_dir_path( SURECART_PLUGIN_FILE ) . 'templates/forms/' . $block_pattern . '.php';
103
104 register_block_pattern(
105 'surecart/' . $block_pattern,
106 require $pattern_file
107 );
108 }
109 }
110 }
111