PluginProbe
WindPress – Tailwind CSS integration for WordPress / trunk
WindPress – Tailwind CSS integration for WordPress vtrunk
3.2.88 3.2.87 3.2.86 3.2.85 3.2.84 3.2.83 3.2.82 3.2.81 trunk 3.0.0 3.0.1 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 All 142 releases
windpress / src / Integration / Gutenberg / Main.php

Main.php in WindPress – Tailwind CSS integration for WordPress trunk, at src/Integration/Gutenberg/Main.php

51 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 * This file is part of the WindPress package.
5 *
6 * (c) Joshua Gugun Siagian <suabahasa@gmail.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 declare (strict_types=1);
12 namespace WindPress\WindPress\Integration\Gutenberg;
13
14 use WindPress\WindPress\Integration\IntegrationInterface;
15 use WindPress\WindPress\Utils\Common;
16 use WindPress\WindPress\Utils\Config;
17 /**
18 * @author Joshua Gugun Siagian <suabahasa@gmail.com>
19 */
20 class Main implements IntegrationInterface
21 {
22 public function __construct()
23 {
24 add_filter('f!windpress/core/cache:compile.providers', fn(array $providers): array => $this->register_provider($providers));
25 if ($this->is_enabled()) {
26 if (Config::get(sprintf('integration.%s.editor.enabled', $this->get_name()), \true)) {
27 new \WindPress\WindPress\Integration\Gutenberg\Editor();
28 }
29 \WindPress\WindPress\Integration\Gutenberg\CommonBlock::get_instance();
30 }
31 }
32 public function get_name(): string
33 {
34 return 'gutenberg';
35 }
36 public function is_enabled(): bool
37 {
38 return (bool) apply_filters('f!windpress/integration/gutenberg:enabled', Config::get(sprintf('integration.%s.enabled', $this->get_name()), \true));
39 }
40 public function register_provider(array $providers): array
41 {
42 $providers[] = ['id' => $this->get_name(), 'name' => __('Gutenberg', 'windpress'), 'description' => __('Gutenberg/Block Editor integration', 'windpress'), 'callback' => Config::get(sprintf('integration.%s.compile.enabled', $this->get_name()), \true) ? \WindPress\WindPress\Integration\Gutenberg\Compile::class : static fn() => [], 'enabled' => $this->is_enabled(), 'type' => 'custom', 'homepage' => 'https://wordpress.org/gutenberg/?ref=jooosi', 'is_installed_active' => static function () {
43 $is = -1;
44 $is += function_exists('register_block_type') ? 1 : 0;
45 $is += function_exists('register_block_type') ? 1 : 0;
46 return $is;
47 }];
48 return $providers;
49 }
50 }
51